Files
Odoo-Modules/graphify-out/cache/3f0eea8c1ef479b234b88daca8546003efa05a2e135acc4318a1a2d817aad27e.json
gsinghpal 41d0908ade changes
2026-04-24 21:04:38 -04:00

1 line
267 KiB
JSON

{"nodes": [{"id": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "label": "technician_task.py", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1"}, {"id": "technician_task_fusiontechniciantask", "label": "FusionTechnicianTask", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L25"}, {"id": "technician_task_fusiontechniciantask_compute_display_name", "label": "._compute_display_name()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L32"}, {"id": "technician_task_fusiontechniciantask_get_store_hours", "label": "._get_store_hours()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L52"}, {"id": "technician_task_compute_is_shadow", "label": "_compute_is_shadow()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L115"}, {"id": "technician_task_compute_client_display", "label": "_compute_client_display()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L124"}, {"id": "technician_task_compute_all_technician_ids", "label": "_compute_all_technician_ids()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L172"}, {"id": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "label": "._get_calendar_busy_intervals()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L495"}, {"id": "technician_task_fusiontechniciantask_find_next_available_slot", "label": "._find_next_available_slot()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L544"}, {"id": "technician_task_fusiontechniciantask_get_available_gaps", "label": "._get_available_gaps()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L664"}, {"id": "technician_task_get_time_selection", "label": "_get_time_selection()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L700"}, {"id": "technician_task_compute_time_12h", "label": "_compute_time_12h()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L716"}, {"id": "technician_task_fusiontechniciantask_inverse_time_start_12h", "label": "._inverse_time_start_12h()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L722"}, {"id": "technician_task_fusiontechniciantask_inverse_time_end_12h", "label": "._inverse_time_end_12h()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L727"}, {"id": "technician_task_compute_time_displays", "label": "_compute_time_displays()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L733"}, {"id": "technician_task_onchange_task_type_duration", "label": "_onchange_task_type_duration()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L740"}, {"id": "technician_task_onchange_compute_end_time", "label": "_onchange_compute_end_time()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L750"}, {"id": "technician_task_compute_datetimes", "label": "_compute_datetimes()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L763"}, {"id": "technician_task_fusiontechniciantask_inverse_datetime_start", "label": "._inverse_datetime_start()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L781"}, {"id": "technician_task_fusiontechniciantask_inverse_datetime_end", "label": "._inverse_datetime_end()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L791"}, {"id": "technician_task_compute_schedule_info", "label": "_compute_schedule_info()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L801"}, {"id": "technician_task_compute_prev_task_summary", "label": "_compute_prev_task_summary()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L879"}, {"id": "technician_task_fusiontechniciantask_quick_travel_time", "label": "._quick_travel_time()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L980"}, {"id": "technician_task_compute_color", "label": "_compute_color()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1018"}, {"id": "technician_task_compute_address_display", "label": "_compute_address_display()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1033"}, {"id": "technician_task_onchange_is_in_store", "label": "_onchange_is_in_store()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1063"}, {"id": "technician_task_onchange_partner_id", "label": "_onchange_partner_id()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1073"}, {"id": "technician_task_fusiontechniciantask_fill_address_from_partner", "label": "._fill_address_from_partner()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1088"}, {"id": "technician_task_check_address_required", "label": "_check_address_required()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1106"}, {"id": "technician_task_check_no_overlap", "label": "_check_no_overlap()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1121"}, {"id": "technician_task_onchange_technician_date_autoset", "label": "_onchange_technician_date_autoset()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1255"}, {"id": "technician_task_fusiontechniciantask_snap_if_overlap", "label": "._snap_if_overlap()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1285"}, {"id": "technician_task_fusiontechniciantask_snap_to_quarter", "label": "._snap_to_quarter()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1345"}, {"id": "technician_task_default_get", "label": "default_get()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1352"}, {"id": "technician_task_create", "label": "create()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1412"}, {"id": "technician_task_fusiontechniciantask_create_vals_fill", "label": "._create_vals_fill()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1444"}, {"id": "technician_task_fusiontechniciantask_on_create_post_actions", "label": "._on_create_post_actions()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1455"}, {"id": "technician_task_fusiontechniciantask_write", "label": ".write()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1463"}, {"id": "technician_task_fusiontechniciantask_sync_calendar_event", "label": "._sync_calendar_event()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1556"}, {"id": "technician_task_fill_address_vals", "label": "_fill_address_vals()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1626"}, {"id": "technician_task_fusiontechniciantask_post_task_created_to_linked_order", "label": "._post_task_created_to_linked_order()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1639"}, {"id": "technician_task_fusiontechniciantask_mark_sale_order_ready_for_delivery", "label": "._mark_sale_order_ready_for_delivery()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1644"}, {"id": "technician_task_fusiontechniciantask_recalculate_day_travel_chains", "label": "._recalculate_day_travel_chains()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1649"}, {"id": "technician_task_fusiontechniciantask_get_technician_start_address", "label": "._get_technician_start_address()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1664"}, {"id": "technician_task_fusiontechniciantask_geocode_address_string", "label": "._geocode_address_string()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1679"}, {"id": "technician_task_fusiontechniciantask_get_technician_start_coords", "label": "._get_technician_start_coords()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1705"}, {"id": "technician_task_fusiontechniciantask_recalculate_combos_travel", "label": "._recalculate_combos_travel()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1745"}, {"id": "technician_task_fusiontechniciantask_get_tech_current_location", "label": "._get_tech_current_location()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1818"}, {"id": "technician_task_fusiontechniciantask_recalculate_travel_from_current_location", "label": "._recalculate_travel_from_current_location()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1857"}, {"id": "technician_task_fusiontechniciantask_recalculate_remaining_tasks_travel", "label": "._recalculate_remaining_tasks_travel()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1876"}, {"id": "technician_task_fusiontechniciantask_check_previous_tasks_completed", "label": "._check_previous_tasks_completed()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1936"}, {"id": "technician_task_fusiontechniciantask_write_action_location", "label": "._write_action_location()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1956"}, {"id": "technician_task_fusiontechniciantask_action_start_en_route", "label": ".action_start_en_route()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1972"}, {"id": "technician_task_fusiontechniciantask_action_start_task", "label": ".action_start_task()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2008"}, {"id": "technician_task_fusiontechniciantask_action_complete_task", "label": ".action_complete_task()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2022"}, {"id": "technician_task_fusiontechniciantask_check_completion_requirements", "label": "._check_completion_requirements()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2050"}, {"id": "technician_task_fusiontechniciantask_on_complete_extra", "label": "._on_complete_extra()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2055"}, {"id": "technician_task_fusiontechniciantask_action_cancel_task", "label": ".action_cancel_task()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2060"}, {"id": "technician_task_fusiontechniciantask_on_cancel_extra", "label": "._on_cancel_extra()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2077"}, {"id": "technician_task_fusiontechniciantask_action_reschedule", "label": ".action_reschedule()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2082"}, {"id": "technician_task_fusiontechniciantask_action_reset_to_scheduled", "label": ".action_reset_to_scheduled()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2101"}, {"id": "technician_task_fusiontechniciantask_post_status_message", "label": "._post_status_message()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2110"}, {"id": "technician_task_fusiontechniciantask_post_completion_to_linked_order", "label": "._post_completion_to_linked_order()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2129"}, {"id": "technician_task_fusiontechniciantask_notify_scheduler_on_completion", "label": "._notify_scheduler_on_completion()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2134"}, {"id": "technician_task_fusiontechniciantask_get_task_email_details", "label": "._get_task_email_details()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2199"}, {"id": "technician_task_fusiontechniciantask_get_task_email_recipients", "label": "._get_task_email_recipients()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2219"}, {"id": "technician_task_fusiontechniciantask_send_task_cancelled_email", "label": "._send_task_cancelled_email()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2237"}, {"id": "technician_task_fusiontechniciantask_send_task_scheduled_email", "label": "._send_task_scheduled_email()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2241"}, {"id": "technician_task_fusiontechniciantask_send_task_rescheduled_email", "label": "._send_task_rescheduled_email()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2245"}, {"id": "technician_task_fusiontechniciantask_get_email_builder", "label": "._get_email_builder()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2253"}, {"id": "technician_task_fusiontechniciantask_is_email_notifications_enabled", "label": "._is_email_notifications_enabled()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2261"}, {"id": "technician_task_fusiontechniciantask_get_linked_order", "label": "._get_linked_order()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2269"}, {"id": "technician_task_fusiontechniciantask_send_task_en_route_email", "label": "._send_task_en_route_email()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2277"}, {"id": "technician_task_fusiontechniciantask_send_task_completion_email", "label": "._send_task_completion_email()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2360"}, {"id": "technician_task_fusiontechniciantask_get_next_task_for_technician", "label": ".get_next_task_for_technician()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2465"}, {"id": "technician_task_fusiontechniciantask_get_google_maps_api_key", "label": "._get_google_maps_api_key()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2485"}, {"id": "technician_task_get_map_data", "label": "get_map_data()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2492"}, {"id": "technician_task_get_tech_start_locations", "label": "_get_tech_start_locations()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2528"}, {"id": "technician_task_get_clock_in_locations", "label": "_get_clock_in_locations()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2612"}, {"id": "technician_task_fusiontechniciantask_geocode_address", "label": "._geocode_address()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2689"}, {"id": "technician_task_fusiontechniciantask_calculate_travel_time", "label": "._calculate_travel_time()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2727"}, {"id": "technician_task_maps_api_headers", "label": "_maps_api_headers()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2777"}, {"id": "technician_task_osrm_travel", "label": "_osrm_travel()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2792"}, {"id": "technician_task_nominatim_geocode", "label": "_nominatim_geocode()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2814"}, {"id": "technician_task_fusiontechniciantask_action_calculate_travel_times", "label": ".action_calculate_travel_times()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2842"}, {"id": "technician_task_fusiontechniciantask_do_calculate_travel_times", "label": "._do_calculate_travel_times()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2848"}, {"id": "technician_task_cron_calculate_travel_times", "label": "_cron_calculate_travel_times()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2922"}, {"id": "technician_task_cron_check_late_arrivals", "label": "_cron_check_late_arrivals()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2966"}, {"id": "technician_task_fusiontechniciantask_get_technician_tasks_for_date", "label": ".get_technician_tasks_for_date()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3039"}, {"id": "technician_task_fusiontechniciantask_get_next_task", "label": ".get_next_task()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3047"}, {"id": "technician_task_fusiontechniciantask_get_current_task", "label": ".get_current_task()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3056"}, {"id": "technician_task_fusiontechniciantask_send_push_notification", "label": "._send_push_notification()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3069"}, {"id": "technician_task_cron_send_push_notifications", "label": "_cron_send_push_notifications()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3127"}, {"id": "technician_task_fusiontechniciantask_get_local_tz", "label": "._get_local_tz()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3161"}, {"id": "technician_task_fusiontechniciantask_utc_to_local", "label": "._utc_to_local()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3175"}, {"id": "technician_task_fusiontechniciantask_local_now", "label": "._local_now()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3182"}, {"id": "technician_task_float_to_time_str", "label": "_float_to_time_str()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3187"}, {"id": "technician_task_fusiontechniciantask_get_google_maps_url", "label": ".get_google_maps_url()", "file_type": "code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3197"}, {"id": "technician_task_rationale_33", "label": "Richer display name: Client - Type | 9:00 AM - 10:00 AM [+2 techs].", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L33"}, {"id": "technician_task_rationale_53", "label": "Return (open_hour, close_hour) from settings. Defaults 9.0 / 18.0.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L53"}, {"id": "technician_task_rationale_496", "label": "Return busy intervals from calendar.event for a technician on a date. Q", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L496"}, {"id": "technician_task_rationale_547", "label": "Find the next available time slot for a technician on a given date. Sca", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L547"}, {"id": "technician_task_rationale_665", "label": "Return a list of available (start, end) gaps for a technician on a date.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L665"}, {"id": "technician_task_rationale_701", "label": "Generate 12-hour time slots every 15 minutes, store hours only (9 AM - 6 PM).", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L701"}, {"id": "technician_task_rationale_717", "label": "Sync the 12h selection fields from the raw float values.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L717"}, {"id": "technician_task_rationale_734", "label": "Convert float hours to readable time strings.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L734"}, {"id": "technician_task_rationale_741", "label": "Set default duration based on task type.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L741"}, {"id": "technician_task_rationale_751", "label": "Auto-compute end time from start + duration. Also run overlap check.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L751"}, {"id": "technician_task_rationale_764", "label": "Combine date + float time into proper Datetime fields for calendar. time", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L764"}, {"id": "technician_task_rationale_782", "label": "When datetime_start is changed (e.g. from calendar drag), update date + time.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L782"}, {"id": "technician_task_rationale_792", "label": "When datetime_end is changed (e.g. from calendar resize), update time_end.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L792"}, {"id": "technician_task_rationale_802", "label": "Show booked + available time slots for the technician on the selected date.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L802"}, {"id": "technician_task_rationale_880", "label": "Show previous task info + travel time warning with color coding.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L880"}, {"id": "technician_task_rationale_981", "label": "Quick inline travel time calculation. Prefers self-hosted OSRM when fusi", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L981"}, {"id": "technician_task_rationale_1064", "label": "Auto-fill company address when task is marked as in-store.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1064"}, {"id": "technician_task_rationale_1074", "label": "Auto-fill address fields from the selected client's address.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1074"}, {"id": "technician_task_rationale_1089", "label": "Populate address fields from a partner record.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1089"}, {"id": "technician_task_rationale_1107", "label": "Non-in-store tasks must have a geocoded address.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1107"}, {"id": "technician_task_rationale_1122", "label": "Prevent overlapping bookings for the same technician on the same date.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1122"}, {"id": "technician_task_rationale_1256", "label": "Auto-set start/end time to the first available slot when tech+date change.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1256"}, {"id": "technician_task_rationale_1286", "label": "Check if current time_start/time_end overlaps with another task. If so,", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1286"}, {"id": "technician_task_rationale_1346", "label": "Round a float hour to the nearest 15-minute slot and clamp to store hours.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1346"}, {"id": "technician_task_rationale_1353", "label": "Handle calendar time range selection: pre-fill date + times from context.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1353"}, {"id": "technician_task_rationale_1445", "label": "Hook: fill address from linked records during create. Base implementati", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1445"}, {"id": "technician_task_rationale_1456", "label": "Hook: post-create side-effects for linked records. Override in fusion_c", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1456"}, {"id": "technician_task_rationale_1557", "label": "Create or update a linked calendar.event for external calendar sync. On", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1557"}, {"id": "technician_task_rationale_1627", "label": "Helper to fill address vals dict from a partner record.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1627"}, {"id": "technician_task_rationale_1640", "label": "Hook: post task creation notice to linked order chatter. Override in fus", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1640"}, {"id": "technician_task_rationale_1645", "label": "Hook: mark linked sale orders as ready for delivery. Override in fusion_", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1645"}, {"id": "technician_task_rationale_1650", "label": "Recalculate travel for all tech+date combos affected by these tasks. In", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1650"}, {"id": "technician_task_rationale_1665", "label": "Get the start address for a technician. Priority: 1. Technici", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1665"}, {"id": "technician_task_rationale_1680", "label": "Geocode an address string. Prefers self-hosted Nominatim when fusion_tas", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1680"}, {"id": "technician_task_rationale_1706", "label": "Return cached (lat, lng) for a technician's start address. Reads from r", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1706"}, {"id": "technician_task_rationale_1746", "label": "Recalculate travel for a set of (tech_id, date) combinations. Start-poi", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1746"}, {"id": "technician_task_rationale_1819", "label": "Get the technician's most recent GPS location. Priority: 1. L", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1819"}, {"id": "technician_task_rationale_1858", "label": "Recalculate travel time for THIS task from the tech's current GPS. Call", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1858"}, {"id": "technician_task_rationale_1877", "label": "After completing a task, recalculate travel for all remaining tasks in t", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1877"}, {"id": "technician_task_rationale_1937", "label": "Check that all earlier tasks for the same technician+date are completed.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1937"}, {"id": "technician_task_rationale_1957", "label": "Write GPS coordinates from context onto the task record.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1957"}, {"id": "technician_task_rationale_1973", "label": "Mark task as En Route.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1973"}, {"id": "technician_task_rationale_2009", "label": "Mark task as In Progress.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2009"}, {"id": "technician_task_rationale_2023", "label": "Mark task as Completed.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2023"}, {"id": "technician_task_rationale_2051", "label": "Hook: check additional requirements before task completion. Override in", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2051"}, {"id": "technician_task_rationale_2056", "label": "Hook: additional side-effects after task completion. Override in fusion_", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2056"}, {"id": "technician_task_rationale_2061", "label": "Cancel the task. Sends cancellation email and runs cancel hooks.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2061"}, {"id": "technician_task_rationale_2078", "label": "Hook: additional side-effects after task cancellation. Override in fusio", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2078"}, {"id": "technician_task_rationale_2083", "label": "Open the reschedule form for this task. Saves old schedule info, then op", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2083"}, {"id": "technician_task_rationale_2102", "label": "Reset task back to scheduled.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2102"}, {"id": "technician_task_rationale_2111", "label": "Post a status change message to the task chatter.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2111"}, {"id": "technician_task_rationale_2130", "label": "Hook: post completion notes to linked order chatter. Override in fusion_", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2130"}, {"id": "technician_task_rationale_2135", "label": "Send an Odoo notification to the person who scheduled the task. Shadow", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2135"}, {"id": "technician_task_rationale_2200", "label": "Build common detail rows for task emails.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2200"}, {"id": "technician_task_rationale_2220", "label": "Get email recipients for task notifications. Returns dict with 'to' (cli", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2220"}, {"id": "technician_task_rationale_2238", "label": "Send cancellation email. Base: no-op. Override in fusion_claims.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2238"}, {"id": "technician_task_rationale_2242", "label": "Send scheduled email. Base: no-op. Override in fusion_claims.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2242"}, {"id": "technician_task_rationale_2246", "label": "Send rescheduled email. Base: no-op. Override in fusion_claims.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2246"}, {"id": "technician_task_rationale_2254", "label": "Return a record that has the _email_build mixin. Base: returns self (ta", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2254"}, {"id": "technician_task_rationale_2262", "label": "Check if email notifications are enabled. Base: always True. Override i", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2262"}, {"id": "technician_task_rationale_2270", "label": "Return the linked order record (SO or PO), or False. Base: always False", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2270"}, {"id": "technician_task_rationale_2278", "label": "Email the client that the technician is on the way.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2278"}, {"id": "technician_task_rationale_2361", "label": "Email the client that the visit is complete. Sends one of two variants", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2361"}, {"id": "technician_task_rationale_2466", "label": "Get the next task in sequence for the same technician+date after this one.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2466"}, {"id": "technician_task_rationale_2486", "label": "Get the Google Maps API key from config.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2486"}, {"id": "technician_task_rationale_2493", "label": "Return task data, technician locations, and Google Maps API key. Args:", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2493"}, {"id": "technician_task_rationale_2529", "label": "Build a dict of technician start locations for route origins. Priority", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2529"}, {"id": "technician_task_rationale_2613", "label": "Get today's clock-in lat/lng from fusion_clock if installed. Uses the t", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2613"}, {"id": "technician_task_rationale_2690", "label": "Geocode the task address. Prefers self-hosted Nominatim when fusion_task", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2690"}, {"id": "technician_task_rationale_2728", "label": "Calculate travel time from origin to this task. Prefers self-hosted OSRM", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2728"}, {"id": "technician_task_rationale_2778", "label": "Build request headers for the FusionMaps gateway. When fusion_tasks.map", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2778"}, {"id": "technician_task_rationale_2793", "label": "Query OSRM /route for driving time + distance. Returns (minutes, km) or", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2793"}, {"id": "technician_task_rationale_2815", "label": "Query Nominatim /search for address \u2192 (lat, lng). Returns (0.0, 0.0) on", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2815"}, {"id": "technician_task_rationale_2843", "label": "Calculate travel times for a day's schedule. Called from backend button or cron.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2843"}, {"id": "technician_task_rationale_2849", "label": "Internal: calculate travel times for tasks. Does not return an action.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2849"}, {"id": "technician_task_rationale_2923", "label": "Cron job: Refresh travel times for TODAY's active tasks only. Future-da", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2923"}, {"id": "technician_task_rationale_2967", "label": "Cron: detect tasks where the technician hasn't started and the scheduled", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2967"}, {"id": "technician_task_rationale_3040", "label": "Get all tasks for a technician on a given date, ordered by sequence.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3040"}, {"id": "technician_task_rationale_3048", "label": "Get the next upcoming task for a technician.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3048"}, {"id": "technician_task_rationale_3057", "label": "Get the current in-progress task for a technician.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3057"}, {"id": "technician_task_rationale_3070", "label": "Send a web push notification for this task.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3070"}, {"id": "technician_task_rationale_3128", "label": "Cron: Send push notifications for upcoming tasks.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3128"}, {"id": "technician_task_rationale_3162", "label": "Return the pytz timezone for local time calculations. Priority: company", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3162"}, {"id": "technician_task_rationale_3176", "label": "Convert a naive UTC datetime to a timezone-aware local datetime.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3176"}, {"id": "technician_task_rationale_3183", "label": "Current datetime in the local (company) timezone.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3183"}, {"id": "technician_task_rationale_3188", "label": "Convert float hours to time string like '9:30 AM'.", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3188"}, {"id": "technician_task_rationale_3198", "label": "Get Google Maps navigation URL using the text address so the destination", "file_type": "rationale", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3198"}], "edges": [{"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "odoo", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L11", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "odoo_exceptions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L12", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "odoo_osv", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L13", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "markupsafe", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L14", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "logging", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L15", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L16", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "uuid", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L17", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "requests", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L18", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L19", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "urllib_parse", "relation": "imports", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L20", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_fusiontechniciantask", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L25", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_compute_display_name", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L32", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_store_hours", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L52", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_compute_is_shadow", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L115", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_compute_client_display", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L124", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_compute_all_technician_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L172", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L495", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_find_next_available_slot", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L544", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_available_gaps", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L664", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_get_time_selection", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L700", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_compute_time_12h", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L716", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_inverse_time_start_12h", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L722", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_inverse_time_end_12h", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L727", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_compute_time_displays", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L733", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_onchange_task_type_duration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L740", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_onchange_compute_end_time", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L750", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_compute_datetimes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L763", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_inverse_datetime_start", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L781", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_inverse_datetime_end", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L791", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_compute_schedule_info", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L801", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_compute_prev_task_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L879", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_quick_travel_time", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L980", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_compute_color", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1018", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_compute_address_display", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1033", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_onchange_is_in_store", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1063", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_onchange_partner_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1073", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_fill_address_from_partner", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1088", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_check_address_required", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1106", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_check_no_overlap", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1121", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_onchange_technician_date_autoset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1255", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_snap_if_overlap", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1285", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_snap_to_quarter", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1345", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_default_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1352", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_create", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1412", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_create_vals_fill", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1444", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_on_create_post_actions", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1455", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_write", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1463", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_sync_calendar_event", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1556", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_fill_address_vals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1626", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_post_task_created_to_linked_order", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1639", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_mark_sale_order_ready_for_delivery", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1644", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_recalculate_day_travel_chains", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1649", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_technician_start_address", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1664", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_geocode_address_string", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1679", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_technician_start_coords", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1705", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_recalculate_combos_travel", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1745", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_tech_current_location", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1818", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_recalculate_travel_from_current_location", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1857", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_recalculate_remaining_tasks_travel", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1876", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_check_previous_tasks_completed", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1936", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_write_action_location", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1956", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_action_start_en_route", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1972", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_action_start_task", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2008", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_action_complete_task", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2022", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_check_completion_requirements", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2050", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_on_complete_extra", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2055", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_action_cancel_task", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2060", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_on_cancel_extra", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2077", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_action_reschedule", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2082", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_action_reset_to_scheduled", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2101", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_post_status_message", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2110", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_post_completion_to_linked_order", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2129", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_notify_scheduler_on_completion", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2134", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_task_email_details", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2199", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_task_email_recipients", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2219", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_send_task_cancelled_email", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2237", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_send_task_scheduled_email", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2241", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_send_task_rescheduled_email", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2245", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_email_builder", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2253", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_is_email_notifications_enabled", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2261", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_linked_order", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2269", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_send_task_en_route_email", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2277", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_send_task_completion_email", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2360", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_next_task_for_technician", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2465", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_google_maps_api_key", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2485", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_get_map_data", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2492", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_get_tech_start_locations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2528", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_get_clock_in_locations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2612", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_geocode_address", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2689", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_calculate_travel_time", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2727", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_maps_api_headers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2777", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_osrm_travel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2792", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_nominatim_geocode", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2814", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_action_calculate_travel_times", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2842", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_do_calculate_travel_times", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2848", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_cron_calculate_travel_times", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2922", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_cron_check_late_arrivals", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2966", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_technician_tasks_for_date", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3039", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_next_task", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3047", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_current_task", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3056", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_send_push_notification", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3069", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_cron_send_push_notifications", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3127", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_local_tz", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3161", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_utc_to_local", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3175", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_local_now", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3182", "weight": 1.0}, {"source": "users_gurpreet_github_odoo_modules_fusion_tasks_models_technician_task_py", "target": "technician_task_float_to_time_str", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3187", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask", "target": "technician_task_fusiontechniciantask_get_google_maps_url", "relation": "method", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3197", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_compute_display_name", "target": "technician_task_float_to_time_str", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L38", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "target": "technician_task_fusiontechniciantask_get_local_tz", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L510", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_find_next_available_slot", "target": "technician_task_fusiontechniciantask_get_store_hours", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L562", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_find_next_available_slot", "target": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L589", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_get_available_gaps", "target": "technician_task_fusiontechniciantask_get_store_hours", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L670", "weight": 1.0}, {"source": "technician_task_compute_time_displays", "target": "technician_task_float_to_time_str", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L736", "weight": 1.0}, {"source": "technician_task_onchange_task_type_duration", "target": "technician_task_fusiontechniciantask_get_store_hours", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L746", "weight": 1.0}, {"source": "technician_task_onchange_compute_end_time", "target": "technician_task_fusiontechniciantask_get_store_hours", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L753", "weight": 1.0}, {"source": "technician_task_onchange_compute_end_time", "target": "technician_task_fusiontechniciantask_snap_if_overlap", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L758", "weight": 1.0}, {"source": "technician_task_compute_datetimes", "target": "technician_task_fusiontechniciantask_get_local_tz", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L767", "weight": 1.0}, {"source": "technician_task_compute_datetimes", "target": "technician_task_fusiontechniciantask_get_store_hours", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L772", "weight": 1.0}, {"source": "technician_task_compute_schedule_info", "target": "technician_task_fusiontechniciantask_get_store_hours", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L820", "weight": 1.0}, {"source": "technician_task_compute_schedule_info", "target": "technician_task_float_to_time_str", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L821", "weight": 1.0}, {"source": "technician_task_compute_schedule_info", "target": "technician_task_fusiontechniciantask_get_available_gaps", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L843", "weight": 1.0}, {"source": "technician_task_compute_prev_task_summary", "target": "technician_task_float_to_time_str", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L908", "weight": 1.0}, {"source": "technician_task_compute_prev_task_summary", "target": "technician_task_fusiontechniciantask_get_store_hours", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L916", "weight": 1.0}, {"source": "technician_task_compute_prev_task_summary", "target": "technician_task_fusiontechniciantask_quick_travel_time", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L925", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_quick_travel_time", "target": "technician_task_osrm_travel", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L987", "weight": 1.0}, {"source": "technician_task_onchange_is_in_store", "target": "technician_task_fusiontechniciantask_fill_address_from_partner", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1068", "weight": 1.0}, {"source": "technician_task_check_no_overlap", "target": "technician_task_fusiontechniciantask_get_store_hours", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1135", "weight": 1.0}, {"source": "technician_task_check_no_overlap", "target": "technician_task_float_to_time_str", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1137", "weight": 1.0}, {"source": "technician_task_check_no_overlap", "target": "technician_task_fusiontechniciantask_local_now", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1144", "weight": 1.0}, {"source": "technician_task_check_no_overlap", "target": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1178", "weight": 1.0}, {"source": "technician_task_check_no_overlap", "target": "technician_task_fusiontechniciantask_quick_travel_time", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1203", "weight": 1.0}, {"source": "technician_task_onchange_technician_date_autoset", "target": "technician_task_fusiontechniciantask_get_store_hours", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1261", "weight": 1.0}, {"source": "technician_task_onchange_technician_date_autoset", "target": "technician_task_fusiontechniciantask_find_next_available_slot", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1263", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_snap_if_overlap", "target": "technician_task_float_to_time_str", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1306", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_snap_if_overlap", "target": "technician_task_fusiontechniciantask_find_next_available_slot", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1308", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_snap_to_quarter", "target": "technician_task_fusiontechniciantask_get_store_hours", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1347", "weight": 1.0}, {"source": "technician_task_default_get", "target": "technician_task_fusiontechniciantask_snap_to_quarter", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1384", "weight": 1.0}, {"source": "technician_task_default_get", "target": "technician_task_fusiontechniciantask_get_store_hours", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1401", "weight": 1.0}, {"source": "technician_task_create", "target": "technician_task_fill_address_vals", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1422", "weight": 1.0}, {"source": "technician_task_create", "target": "technician_task_fusiontechniciantask_create_vals_fill", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1426", "weight": 1.0}, {"source": "technician_task_create", "target": "technician_task_fusiontechniciantask_on_create_post_actions", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1429", "weight": 1.0}, {"source": "technician_task_create", "target": "technician_task_fusiontechniciantask_recalculate_day_travel_chains", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1432", "weight": 1.0}, {"source": "technician_task_create", "target": "technician_task_fusiontechniciantask_send_task_scheduled_email", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1435", "weight": 1.0}, {"source": "technician_task_create", "target": "technician_task_fusiontechniciantask_sync_calendar_event", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1441", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_create_vals_fill", "target": "technician_task_fill_address_vals", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1453", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_write", "target": "technician_task_fusiontechniciantask_get_store_hours", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1479", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_write", "target": "technician_task_fusiontechniciantask_recalculate_combos_travel", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1517", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_write", "target": "technician_task_fusiontechniciantask_post_status_message", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1528", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_write", "target": "technician_task_fusiontechniciantask_send_task_rescheduled_email", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1529", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_write", "target": "technician_task_fusiontechniciantask_sync_calendar_event", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1553", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_sync_calendar_event", "target": "technician_task_fusiontechniciantask_write", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1577", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_sync_calendar_event", "target": "technician_task_fusiontechniciantask_get_linked_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1580", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_sync_calendar_event", "target": "technician_task_create", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1610", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_recalculate_day_travel_chains", "target": "technician_task_fusiontechniciantask_recalculate_combos_travel", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1662", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_geocode_address_string", "target": "technician_task_nominatim_geocode", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1688", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_get_technician_start_coords", "target": "technician_task_fusiontechniciantask_geocode_address_string", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1720", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_get_technician_start_coords", "target": "technician_task_fusiontechniciantask_write", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1723", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_recalculate_combos_travel", "target": "technician_task_fusiontechniciantask_get_google_maps_api_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1759", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_recalculate_combos_travel", "target": "technician_task_fusiontechniciantask_local_now", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1762", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_recalculate_combos_travel", "target": "technician_task_get_clock_in_locations", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1769", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_recalculate_combos_travel", "target": "technician_task_fusiontechniciantask_get_tech_current_location", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1779", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_recalculate_combos_travel", "target": "technician_task_fusiontechniciantask_get_technician_start_coords", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1786", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_recalculate_combos_travel", "target": "technician_task_fusiontechniciantask_geocode_address", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1803", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_recalculate_combos_travel", "target": "technician_task_fusiontechniciantask_calculate_travel_time", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1806", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_recalculate_combos_travel", "target": "technician_task_fusiontechniciantask_write", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1810", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_get_tech_current_location", "target": "technician_task_fusiontechniciantask_local_now", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1838", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_get_tech_current_location", "target": "technician_task_get_clock_in_locations", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1850", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_recalculate_travel_from_current_location", "target": "technician_task_fusiontechniciantask_get_tech_current_location", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1869", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_recalculate_travel_from_current_location", "target": "technician_task_fusiontechniciantask_calculate_travel_time", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1871", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_recalculate_travel_from_current_location", "target": "technician_task_fusiontechniciantask_write", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1872", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_recalculate_remaining_tasks_travel", "target": "technician_task_fusiontechniciantask_geocode_address", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1919", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_recalculate_remaining_tasks_travel", "target": "technician_task_fusiontechniciantask_calculate_travel_time", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1921", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_recalculate_remaining_tasks_travel", "target": "technician_task_fusiontechniciantask_write", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1925", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_write_action_location", "target": "technician_task_fusiontechniciantask_write", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1970", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_start_en_route", "target": "technician_task_fusiontechniciantask_check_previous_tasks_completed", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1977", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_start_en_route", "target": "technician_task_fusiontechniciantask_write_action_location", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1979", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_start_en_route", "target": "technician_task_fusiontechniciantask_post_status_message", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1980", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_start_en_route", "target": "technician_task_fusiontechniciantask_send_task_en_route_email", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1981", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_start_en_route", "target": "technician_task_fusiontechniciantask_recalculate_travel_from_current_location", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1983", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_start_en_route", "target": "technician_task_fusiontechniciantask_send_push_notification", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2000", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_start_task", "target": "technician_task_fusiontechniciantask_check_previous_tasks_completed", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2013", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_start_task", "target": "technician_task_fusiontechniciantask_write_action_location", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2016", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_start_task", "target": "technician_task_fusiontechniciantask_post_status_message", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2020", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_complete_task", "target": "technician_task_fusiontechniciantask_check_completion_requirements", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2028", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_complete_task", "target": "technician_task_fusiontechniciantask_write", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2031", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_complete_task", "target": "technician_task_fusiontechniciantask_post_status_message", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2040", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_complete_task", "target": "technician_task_fusiontechniciantask_post_completion_to_linked_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2041", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_complete_task", "target": "technician_task_fusiontechniciantask_notify_scheduler_on_completion", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2042", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_complete_task", "target": "technician_task_fusiontechniciantask_send_task_completion_email", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2043", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_complete_task", "target": "technician_task_fusiontechniciantask_recalculate_remaining_tasks_travel", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2046", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_complete_task", "target": "technician_task_fusiontechniciantask_on_complete_extra", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2048", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_cancel_task", "target": "technician_task_fusiontechniciantask_write_action_location", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2066", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_cancel_task", "target": "technician_task_fusiontechniciantask_post_status_message", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2067", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_cancel_task", "target": "technician_task_fusiontechniciantask_on_cancel_extra", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2075", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_on_cancel_extra", "target": "technician_task_fusiontechniciantask_send_task_cancelled_email", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2080", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_notify_scheduler_on_completion", "target": "technician_task_fusiontechniciantask_get_linked_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2145", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_get_task_email_details", "target": "technician_task_float_to_time_str", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2210", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_send_task_en_route_email", "target": "technician_task_fusiontechniciantask_is_email_notifications_enabled", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2284", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_send_task_en_route_email", "target": "technician_task_fusiontechniciantask_get_task_email_details", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2293", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_send_task_en_route_email", "target": "technician_task_fusiontechniciantask_get_email_builder", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2294", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_send_task_en_route_email", "target": "technician_task_float_to_time_str", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2300", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_send_task_en_route_email", "target": "technician_task_fusiontechniciantask_get_task_email_recipients", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2332", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_send_task_en_route_email", "target": "technician_task_fusiontechniciantask_get_linked_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2340", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_send_task_en_route_email", "target": "technician_task_create", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2353", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_send_task_completion_email", "target": "technician_task_fusiontechniciantask_is_email_notifications_enabled", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2372", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_send_task_completion_email", "target": "technician_task_fusiontechniciantask_get_email_builder", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2380", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_send_task_completion_email", "target": "technician_task_fusiontechniciantask_get_task_email_recipients", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2437", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_send_task_completion_email", "target": "technician_task_fusiontechniciantask_get_linked_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2445", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_send_task_completion_email", "target": "technician_task_create", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2458", "weight": 1.0}, {"source": "technician_task_get_map_data", "target": "technician_task_get_tech_start_locations", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2518", "weight": 1.0}, {"source": "technician_task_get_tech_start_locations", "target": "technician_task_fusiontechniciantask_local_now", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2545", "weight": 1.0}, {"source": "technician_task_get_tech_start_locations", "target": "technician_task_get_clock_in_locations", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2547", "weight": 1.0}, {"source": "technician_task_get_tech_start_locations", "target": "technician_task_fusiontechniciantask_geocode_address_string", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2569", "weight": 1.0}, {"source": "technician_task_get_tech_start_locations", "target": "technician_task_fusiontechniciantask_write", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2572", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_geocode_address", "target": "technician_task_nominatim_geocode", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2699", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_geocode_address", "target": "technician_task_fusiontechniciantask_write", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2701", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_geocode_address", "target": "technician_task_fusiontechniciantask_get_google_maps_api_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2704", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_calculate_travel_time", "target": "technician_task_osrm_travel", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2738", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_calculate_travel_time", "target": "technician_task_fusiontechniciantask_write", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2742", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_calculate_travel_time", "target": "technician_task_fusiontechniciantask_get_google_maps_api_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2748", "weight": 1.0}, {"source": "technician_task_osrm_travel", "target": "technician_task_maps_api_headers", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2802", "weight": 1.0}, {"source": "technician_task_nominatim_geocode", "target": "technician_task_maps_api_headers", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2833", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_action_calculate_travel_times", "target": "technician_task_fusiontechniciantask_do_calculate_travel_times", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2844", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_do_calculate_travel_times", "target": "technician_task_fusiontechniciantask_get_google_maps_api_key", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2863", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_do_calculate_travel_times", "target": "technician_task_fusiontechniciantask_local_now", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2864", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_do_calculate_travel_times", "target": "technician_task_fusiontechniciantask_get_tech_current_location", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2872", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_do_calculate_travel_times", "target": "technician_task_get_clock_in_locations", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2877", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_do_calculate_travel_times", "target": "technician_task_fusiontechniciantask_get_technician_start_coords", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2883", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_do_calculate_travel_times", "target": "technician_task_fusiontechniciantask_geocode_address", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2911", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_do_calculate_travel_times", "target": "technician_task_fusiontechniciantask_calculate_travel_time", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2914", "weight": 1.0}, {"source": "technician_task_cron_calculate_travel_times", "target": "technician_task_fusiontechniciantask_do_calculate_travel_times", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2959", "weight": 1.0}, {"source": "technician_task_cron_check_late_arrivals", "target": "technician_task_fusiontechniciantask_local_now", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2976", "weight": 1.0}, {"source": "technician_task_cron_check_late_arrivals", "target": "technician_task_fusiontechniciantask_send_push_notification", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2996", "weight": 1.0}, {"source": "technician_task_cron_check_late_arrivals", "target": "technician_task_float_to_time_str", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2998", "weight": 1.0}, {"source": "technician_task_cron_check_late_arrivals", "target": "technician_task_fusiontechniciantask_get_linked_order", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3006", "weight": 1.0}, {"source": "technician_task_cron_check_late_arrivals", "target": "technician_task_fusiontechniciantask_write", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3028", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_send_push_notification", "target": "technician_task_fusiontechniciantask_write", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3121", "weight": 1.0}, {"source": "technician_task_cron_send_push_notifications", "target": "technician_task_fusiontechniciantask_local_now", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3134", "weight": 1.0}, {"source": "technician_task_cron_send_push_notifications", "target": "technician_task_fusiontechniciantask_send_push_notification", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3155", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_utc_to_local", "target": "technician_task_fusiontechniciantask_get_local_tz", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3180", "weight": 1.0}, {"source": "technician_task_fusiontechniciantask_local_now", "target": "technician_task_fusiontechniciantask_utc_to_local", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3184", "weight": 1.0}, {"source": "technician_task_rationale_33", "target": "technician_task_fusiontechniciantask_compute_display_name", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L33", "weight": 1.0}, {"source": "technician_task_rationale_53", "target": "technician_task_fusiontechniciantask_get_store_hours", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L53", "weight": 1.0}, {"source": "technician_task_rationale_496", "target": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L496", "weight": 1.0}, {"source": "technician_task_rationale_547", "target": "technician_task_fusiontechniciantask_find_next_available_slot", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L547", "weight": 1.0}, {"source": "technician_task_rationale_665", "target": "technician_task_fusiontechniciantask_get_available_gaps", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L665", "weight": 1.0}, {"source": "technician_task_rationale_701", "target": "technician_task_fusiontechniciantask_get_time_selection", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L701", "weight": 1.0}, {"source": "technician_task_rationale_717", "target": "technician_task_fusiontechniciantask_compute_time_12h", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L717", "weight": 1.0}, {"source": "technician_task_rationale_734", "target": "technician_task_fusiontechniciantask_compute_time_displays", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L734", "weight": 1.0}, {"source": "technician_task_rationale_741", "target": "technician_task_fusiontechniciantask_onchange_task_type_duration", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L741", "weight": 1.0}, {"source": "technician_task_rationale_751", "target": "technician_task_fusiontechniciantask_onchange_compute_end_time", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L751", "weight": 1.0}, {"source": "technician_task_rationale_764", "target": "technician_task_fusiontechniciantask_compute_datetimes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L764", "weight": 1.0}, {"source": "technician_task_rationale_782", "target": "technician_task_fusiontechniciantask_inverse_datetime_start", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L782", "weight": 1.0}, {"source": "technician_task_rationale_792", "target": "technician_task_fusiontechniciantask_inverse_datetime_end", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L792", "weight": 1.0}, {"source": "technician_task_rationale_802", "target": "technician_task_fusiontechniciantask_compute_schedule_info", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L802", "weight": 1.0}, {"source": "technician_task_rationale_880", "target": "technician_task_fusiontechniciantask_compute_prev_task_summary", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L880", "weight": 1.0}, {"source": "technician_task_rationale_981", "target": "technician_task_fusiontechniciantask_quick_travel_time", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L981", "weight": 1.0}, {"source": "technician_task_rationale_1064", "target": "technician_task_fusiontechniciantask_onchange_is_in_store", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1064", "weight": 1.0}, {"source": "technician_task_rationale_1074", "target": "technician_task_fusiontechniciantask_onchange_partner_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1074", "weight": 1.0}, {"source": "technician_task_rationale_1089", "target": "technician_task_fusiontechniciantask_fill_address_from_partner", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1089", "weight": 1.0}, {"source": "technician_task_rationale_1107", "target": "technician_task_fusiontechniciantask_check_address_required", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1107", "weight": 1.0}, {"source": "technician_task_rationale_1122", "target": "technician_task_fusiontechniciantask_check_no_overlap", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1122", "weight": 1.0}, {"source": "technician_task_rationale_1256", "target": "technician_task_fusiontechniciantask_onchange_technician_date_autoset", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1256", "weight": 1.0}, {"source": "technician_task_rationale_1286", "target": "technician_task_fusiontechniciantask_snap_if_overlap", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1286", "weight": 1.0}, {"source": "technician_task_rationale_1346", "target": "technician_task_fusiontechniciantask_snap_to_quarter", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1346", "weight": 1.0}, {"source": "technician_task_rationale_1353", "target": "technician_task_fusiontechniciantask_default_get", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1353", "weight": 1.0}, {"source": "technician_task_rationale_1445", "target": "technician_task_fusiontechniciantask_create_vals_fill", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1445", "weight": 1.0}, {"source": "technician_task_rationale_1456", "target": "technician_task_fusiontechniciantask_on_create_post_actions", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1456", "weight": 1.0}, {"source": "technician_task_rationale_1557", "target": "technician_task_fusiontechniciantask_sync_calendar_event", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1557", "weight": 1.0}, {"source": "technician_task_rationale_1627", "target": "technician_task_fusiontechniciantask_fill_address_vals", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1627", "weight": 1.0}, {"source": "technician_task_rationale_1640", "target": "technician_task_fusiontechniciantask_post_task_created_to_linked_order", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1640", "weight": 1.0}, {"source": "technician_task_rationale_1645", "target": "technician_task_fusiontechniciantask_mark_sale_order_ready_for_delivery", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1645", "weight": 1.0}, {"source": "technician_task_rationale_1650", "target": "technician_task_fusiontechniciantask_recalculate_day_travel_chains", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1650", "weight": 1.0}, {"source": "technician_task_rationale_1665", "target": "technician_task_fusiontechniciantask_get_technician_start_address", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1665", "weight": 1.0}, {"source": "technician_task_rationale_1680", "target": "technician_task_fusiontechniciantask_geocode_address_string", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1680", "weight": 1.0}, {"source": "technician_task_rationale_1706", "target": "technician_task_fusiontechniciantask_get_technician_start_coords", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1706", "weight": 1.0}, {"source": "technician_task_rationale_1746", "target": "technician_task_fusiontechniciantask_recalculate_combos_travel", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1746", "weight": 1.0}, {"source": "technician_task_rationale_1819", "target": "technician_task_fusiontechniciantask_get_tech_current_location", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1819", "weight": 1.0}, {"source": "technician_task_rationale_1858", "target": "technician_task_fusiontechniciantask_recalculate_travel_from_current_location", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1858", "weight": 1.0}, {"source": "technician_task_rationale_1877", "target": "technician_task_fusiontechniciantask_recalculate_remaining_tasks_travel", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1877", "weight": 1.0}, {"source": "technician_task_rationale_1937", "target": "technician_task_fusiontechniciantask_check_previous_tasks_completed", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1937", "weight": 1.0}, {"source": "technician_task_rationale_1957", "target": "technician_task_fusiontechniciantask_write_action_location", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1957", "weight": 1.0}, {"source": "technician_task_rationale_1973", "target": "technician_task_fusiontechniciantask_action_start_en_route", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1973", "weight": 1.0}, {"source": "technician_task_rationale_2009", "target": "technician_task_fusiontechniciantask_action_start_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2009", "weight": 1.0}, {"source": "technician_task_rationale_2023", "target": "technician_task_fusiontechniciantask_action_complete_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2023", "weight": 1.0}, {"source": "technician_task_rationale_2051", "target": "technician_task_fusiontechniciantask_check_completion_requirements", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2051", "weight": 1.0}, {"source": "technician_task_rationale_2056", "target": "technician_task_fusiontechniciantask_on_complete_extra", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2056", "weight": 1.0}, {"source": "technician_task_rationale_2061", "target": "technician_task_fusiontechniciantask_action_cancel_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2061", "weight": 1.0}, {"source": "technician_task_rationale_2078", "target": "technician_task_fusiontechniciantask_on_cancel_extra", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2078", "weight": 1.0}, {"source": "technician_task_rationale_2083", "target": "technician_task_fusiontechniciantask_action_reschedule", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2083", "weight": 1.0}, {"source": "technician_task_rationale_2102", "target": "technician_task_fusiontechniciantask_action_reset_to_scheduled", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2102", "weight": 1.0}, {"source": "technician_task_rationale_2111", "target": "technician_task_fusiontechniciantask_post_status_message", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2111", "weight": 1.0}, {"source": "technician_task_rationale_2130", "target": "technician_task_fusiontechniciantask_post_completion_to_linked_order", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2130", "weight": 1.0}, {"source": "technician_task_rationale_2135", "target": "technician_task_fusiontechniciantask_notify_scheduler_on_completion", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2135", "weight": 1.0}, {"source": "technician_task_rationale_2200", "target": "technician_task_fusiontechniciantask_get_task_email_details", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2200", "weight": 1.0}, {"source": "technician_task_rationale_2220", "target": "technician_task_fusiontechniciantask_get_task_email_recipients", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2220", "weight": 1.0}, {"source": "technician_task_rationale_2238", "target": "technician_task_fusiontechniciantask_send_task_cancelled_email", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2238", "weight": 1.0}, {"source": "technician_task_rationale_2242", "target": "technician_task_fusiontechniciantask_send_task_scheduled_email", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2242", "weight": 1.0}, {"source": "technician_task_rationale_2246", "target": "technician_task_fusiontechniciantask_send_task_rescheduled_email", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2246", "weight": 1.0}, {"source": "technician_task_rationale_2254", "target": "technician_task_fusiontechniciantask_get_email_builder", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2254", "weight": 1.0}, {"source": "technician_task_rationale_2262", "target": "technician_task_fusiontechniciantask_is_email_notifications_enabled", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2262", "weight": 1.0}, {"source": "technician_task_rationale_2270", "target": "technician_task_fusiontechniciantask_get_linked_order", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2270", "weight": 1.0}, {"source": "technician_task_rationale_2278", "target": "technician_task_fusiontechniciantask_send_task_en_route_email", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2278", "weight": 1.0}, {"source": "technician_task_rationale_2361", "target": "technician_task_fusiontechniciantask_send_task_completion_email", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2361", "weight": 1.0}, {"source": "technician_task_rationale_2466", "target": "technician_task_fusiontechniciantask_get_next_task_for_technician", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2466", "weight": 1.0}, {"source": "technician_task_rationale_2486", "target": "technician_task_fusiontechniciantask_get_google_maps_api_key", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2486", "weight": 1.0}, {"source": "technician_task_rationale_2493", "target": "technician_task_fusiontechniciantask_get_map_data", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2493", "weight": 1.0}, {"source": "technician_task_rationale_2529", "target": "technician_task_fusiontechniciantask_get_tech_start_locations", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2529", "weight": 1.0}, {"source": "technician_task_rationale_2613", "target": "technician_task_fusiontechniciantask_get_clock_in_locations", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2613", "weight": 1.0}, {"source": "technician_task_rationale_2690", "target": "technician_task_fusiontechniciantask_geocode_address", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2690", "weight": 1.0}, {"source": "technician_task_rationale_2728", "target": "technician_task_fusiontechniciantask_calculate_travel_time", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2728", "weight": 1.0}, {"source": "technician_task_rationale_2778", "target": "technician_task_fusiontechniciantask_maps_api_headers", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2778", "weight": 1.0}, {"source": "technician_task_rationale_2793", "target": "technician_task_fusiontechniciantask_osrm_travel", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2793", "weight": 1.0}, {"source": "technician_task_rationale_2815", "target": "technician_task_fusiontechniciantask_nominatim_geocode", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2815", "weight": 1.0}, {"source": "technician_task_rationale_2843", "target": "technician_task_fusiontechniciantask_action_calculate_travel_times", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2843", "weight": 1.0}, {"source": "technician_task_rationale_2849", "target": "technician_task_fusiontechniciantask_do_calculate_travel_times", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2849", "weight": 1.0}, {"source": "technician_task_rationale_2923", "target": "technician_task_fusiontechniciantask_cron_calculate_travel_times", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2923", "weight": 1.0}, {"source": "technician_task_rationale_2967", "target": "technician_task_fusiontechniciantask_cron_check_late_arrivals", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2967", "weight": 1.0}, {"source": "technician_task_rationale_3040", "target": "technician_task_fusiontechniciantask_get_technician_tasks_for_date", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3040", "weight": 1.0}, {"source": "technician_task_rationale_3048", "target": "technician_task_fusiontechniciantask_get_next_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3048", "weight": 1.0}, {"source": "technician_task_rationale_3057", "target": "technician_task_fusiontechniciantask_get_current_task", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3057", "weight": 1.0}, {"source": "technician_task_rationale_3070", "target": "technician_task_fusiontechniciantask_send_push_notification", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3070", "weight": 1.0}, {"source": "technician_task_rationale_3128", "target": "technician_task_fusiontechniciantask_cron_send_push_notifications", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3128", "weight": 1.0}, {"source": "technician_task_rationale_3162", "target": "technician_task_fusiontechniciantask_get_local_tz", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3162", "weight": 1.0}, {"source": "technician_task_rationale_3176", "target": "technician_task_fusiontechniciantask_utc_to_local", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3176", "weight": 1.0}, {"source": "technician_task_rationale_3183", "target": "technician_task_fusiontechniciantask_local_now", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3183", "weight": 1.0}, {"source": "technician_task_rationale_3188", "target": "technician_task_fusiontechniciantask_float_to_time_str", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3188", "weight": 1.0}, {"source": "technician_task_rationale_3198", "target": "technician_task_fusiontechniciantask_get_google_maps_url", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3198", "weight": 1.0}], "raw_calls": [{"caller_nid": "technician_task_fusiontechniciantask_compute_display_name", "callee": "dict", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L34"}, {"caller_nid": "technician_task_fusiontechniciantask_compute_display_name", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L37"}, {"caller_nid": "technician_task_fusiontechniciantask_compute_display_name", "callee": "join", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L41"}, {"caller_nid": "technician_task_fusiontechniciantask_compute_display_name", "callee": "len", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L44"}, {"caller_nid": "technician_task_fusiontechniciantask_get_store_hours", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L54"}, {"caller_nid": "technician_task_fusiontechniciantask_get_store_hours", "callee": "float", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L56"}, {"caller_nid": "technician_task_fusiontechniciantask_get_store_hours", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L56"}, {"caller_nid": "technician_task_fusiontechniciantask_get_store_hours", "callee": "float", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L60"}, {"caller_nid": "technician_task_fusiontechniciantask_get_store_hours", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L60"}, {"caller_nid": "technician_task_compute_is_shadow", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L116"}, {"caller_nid": "technician_task_compute_is_shadow", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L116"}, {"caller_nid": "technician_task_compute_is_shadow", "callee": "bool", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L119"}, {"caller_nid": "technician_task_compute_all_technician_ids", "callee": "len", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L176"}, {"caller_nid": "technician_task_compute_all_technician_ids", "callee": "join", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L177"}, {"caller_nid": "technician_task_compute_all_technician_ids", "callee": "mapped", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L177"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "browse", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L504"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "exists", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L505"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "localize", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L511"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "combine", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L511"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "time", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L511"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "timedelta", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L512"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "replace", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L513"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "astimezone", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L513"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "replace", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L514"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "astimezone", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L514"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "mapped", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L516"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L516"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L516"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L528"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L530"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L530"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "astimezone", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L533"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "localize", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L533"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "astimezone", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L534"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "localize", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L534"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "date", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L537"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "date", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L539"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L541"}, {"caller_nid": "technician_task_fusiontechniciantask_get_calendar_busy_intervals", "callee": "sorted", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L542"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L575"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L577"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L577"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L582"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "max", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L583"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "min", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L584"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "max", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L590"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "min", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L591"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L593"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "sort", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L594"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "max", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L626"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "enumerate", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L628"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "_check_gap_fits", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L631"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "max", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L636"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "_travel_from_prev", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L637"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "round", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L640"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "enumerate", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L650"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "_check_gap_fits", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L652"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "max", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L654"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "_travel_from_prev", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L655"}, {"caller_nid": "technician_task_fusiontechniciantask_find_next_available_slot", "callee": "round", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L657"}, {"caller_nid": "technician_task_fusiontechniciantask_get_available_gaps", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L683"}, {"caller_nid": "technician_task_fusiontechniciantask_get_available_gaps", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L685"}, {"caller_nid": "technician_task_fusiontechniciantask_get_available_gaps", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L685"}, {"caller_nid": "technician_task_fusiontechniciantask_get_available_gaps", "callee": "max", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L686"}, {"caller_nid": "technician_task_fusiontechniciantask_get_available_gaps", "callee": "min", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L686"}, {"caller_nid": "technician_task_fusiontechniciantask_get_available_gaps", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L693"}, {"caller_nid": "technician_task_fusiontechniciantask_get_available_gaps", "callee": "max", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L694"}, {"caller_nid": "technician_task_fusiontechniciantask_get_available_gaps", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L696"}, {"caller_nid": "technician_task_get_time_selection", "callee": "range", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L703"}, {"caller_nid": "technician_task_get_time_selection", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L710"}, {"caller_nid": "technician_task_get_time_selection", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L712"}, {"caller_nid": "technician_task_fusiontechniciantask_inverse_time_start_12h", "callee": "float", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L725"}, {"caller_nid": "technician_task_fusiontechniciantask_inverse_time_end_12h", "callee": "float", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L730"}, {"caller_nid": "technician_task_onchange_task_type_duration", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L743"}, {"caller_nid": "technician_task_onchange_task_type_duration", "callee": "min", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L747"}, {"caller_nid": "technician_task_onchange_compute_end_time", "callee": "min", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L754"}, {"caller_nid": "technician_task_compute_datetimes", "callee": "combine", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L771"}, {"caller_nid": "technician_task_compute_datetimes", "callee": "time", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L771"}, {"caller_nid": "technician_task_compute_datetimes", "callee": "localize", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L773"}, {"caller_nid": "technician_task_compute_datetimes", "callee": "timedelta", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L773"}, {"caller_nid": "technician_task_compute_datetimes", "callee": "localize", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L774"}, {"caller_nid": "technician_task_compute_datetimes", "callee": "timedelta", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L774"}, {"caller_nid": "technician_task_compute_datetimes", "callee": "replace", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L775"}, {"caller_nid": "technician_task_compute_datetimes", "callee": "astimezone", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L775"}, {"caller_nid": "technician_task_compute_datetimes", "callee": "replace", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L776"}, {"caller_nid": "technician_task_compute_datetimes", "callee": "astimezone", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L776"}, {"caller_nid": "technician_task_fusiontechniciantask_inverse_datetime_start", "callee": "timezone", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L784"}, {"caller_nid": "technician_task_fusiontechniciantask_inverse_datetime_start", "callee": "astimezone", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L787"}, {"caller_nid": "technician_task_fusiontechniciantask_inverse_datetime_start", "callee": "localize", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L787"}, {"caller_nid": "technician_task_fusiontechniciantask_inverse_datetime_start", "callee": "date", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L788"}, {"caller_nid": "technician_task_fusiontechniciantask_inverse_datetime_end", "callee": "timezone", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L794"}, {"caller_nid": "technician_task_fusiontechniciantask_inverse_datetime_end", "callee": "astimezone", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L797"}, {"caller_nid": "technician_task_fusiontechniciantask_inverse_datetime_end", "callee": "localize", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L797"}, {"caller_nid": "technician_task_compute_schedule_info", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L810"}, {"caller_nid": "technician_task_compute_schedule_info", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L810"}, {"caller_nid": "technician_task_compute_schedule_info", "callee": "Markup", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L823"}, {"caller_nid": "technician_task_compute_schedule_info", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L834"}, {"caller_nid": "technician_task_compute_schedule_info", "callee": "dict", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L834"}, {"caller_nid": "technician_task_compute_schedule_info", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L836"}, {"caller_nid": "technician_task_compute_schedule_info", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L851"}, {"caller_nid": "technician_task_compute_schedule_info", "callee": "join", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L860"}, {"caller_nid": "technician_task_compute_schedule_info", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L863"}, {"caller_nid": "technician_task_compute_schedule_info", "callee": "join", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L866"}, {"caller_nid": "technician_task_compute_schedule_info", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L869"}, {"caller_nid": "technician_task_compute_schedule_info", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L873"}, {"caller_nid": "technician_task_compute_schedule_info", "callee": "Markup", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L875"}, {"caller_nid": "technician_task_compute_schedule_info", "callee": "join", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L875"}, {"caller_nid": "technician_task_compute_prev_task_summary", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L888"}, {"caller_nid": "technician_task_compute_prev_task_summary", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L888"}, {"caller_nid": "technician_task_compute_prev_task_summary", "callee": "Markup", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L900"}, {"caller_nid": "technician_task_compute_prev_task_summary", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L910"}, {"caller_nid": "technician_task_compute_prev_task_summary", "callee": "dict", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L910"}, {"caller_nid": "technician_task_compute_prev_task_summary", "callee": "int", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L918"}, {"caller_nid": "technician_task_compute_prev_task_summary", "callee": "Markup", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L978"}, {"caller_nid": "technician_task_fusiontechniciantask_quick_travel_time", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L984"}, {"caller_nid": "technician_task_fusiontechniciantask_quick_travel_time", "callee": "strip", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L985"}, {"caller_nid": "technician_task_fusiontechniciantask_quick_travel_time", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L985"}, {"caller_nid": "technician_task_fusiontechniciantask_quick_travel_time", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L993"}, {"caller_nid": "technician_task_fusiontechniciantask_quick_travel_time", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1005"}, {"caller_nid": "technician_task_fusiontechniciantask_quick_travel_time", "callee": "json", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1006"}, {"caller_nid": "technician_task_fusiontechniciantask_quick_travel_time", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1007"}, {"caller_nid": "technician_task_fusiontechniciantask_quick_travel_time", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1009"}, {"caller_nid": "technician_task_fusiontechniciantask_quick_travel_time", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1010"}, {"caller_nid": "technician_task_fusiontechniciantask_quick_travel_time", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1011"}, {"caller_nid": "technician_task_fusiontechniciantask_quick_travel_time", "callee": "max", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1012"}, {"caller_nid": "technician_task_fusiontechniciantask_quick_travel_time", "callee": "int", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1012"}, {"caller_nid": "technician_task_fusiontechniciantask_quick_travel_time", "callee": "warning", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1014"}, {"caller_nid": "technician_task_compute_color", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1029"}, {"caller_nid": "technician_task_compute_address_display", "callee": "join", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1056"}, {"caller_nid": "technician_task_onchange_partner_id", "callee": "hasattr", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1085"}, {"caller_nid": "technician_task_onchange_partner_id", "callee": "hasattr", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1086"}, {"caller_nid": "technician_task_fusiontechniciantask_fill_address_from_partner", "callee": "hasattr", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1098"}, {"caller_nid": "technician_task_fusiontechniciantask_fill_address_from_partner", "callee": "hasattr", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1099"}, {"caller_nid": "technician_task_check_address_required", "callee": "ValidationError", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1114"}, {"caller_nid": "technician_task_check_address_required", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1114"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "ValidationError", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1133"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1133"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "ValidationError", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1139"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1139"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "date", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1145"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "ValidationError", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1147"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1147"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "browse", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1155"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1156"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1156"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "ValidationError", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1169"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1169"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "ValidationError", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1182"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1182"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1192"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1192"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "int", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1208"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "ValidationError", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1210"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1210"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1223"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1223"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "int", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1239"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "ValidationError", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1241"}, {"caller_nid": "technician_task_check_no_overlap", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1241"}, {"caller_nid": "technician_task_onchange_technician_date_autoset", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1278"}, {"caller_nid": "technician_task_onchange_technician_date_autoset", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1279"}, {"caller_nid": "technician_task_onchange_technician_date_autoset", "callee": "strftime", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1282"}, {"caller_nid": "technician_task_fusiontechniciantask_snap_if_overlap", "callee": "max", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1291"}, {"caller_nid": "technician_task_fusiontechniciantask_snap_if_overlap", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1294"}, {"caller_nid": "technician_task_fusiontechniciantask_snap_if_overlap", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1294"}, {"caller_nid": "technician_task_fusiontechniciantask_snap_if_overlap", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1324"}, {"caller_nid": "technician_task_fusiontechniciantask_snap_if_overlap", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1325"}, {"caller_nid": "technician_task_fusiontechniciantask_snap_if_overlap", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1333"}, {"caller_nid": "technician_task_fusiontechniciantask_snap_if_overlap", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1334"}, {"caller_nid": "technician_task_fusiontechniciantask_snap_to_quarter", "callee": "round", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1348"}, {"caller_nid": "technician_task_fusiontechniciantask_snap_to_quarter", "callee": "max", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1349"}, {"caller_nid": "technician_task_fusiontechniciantask_snap_to_quarter", "callee": "min", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1349"}, {"caller_nid": "technician_task_default_get", "callee": "super", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1354"}, {"caller_nid": "technician_task_default_get", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1358"}, {"caller_nid": "technician_task_default_get", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1358"}, {"caller_nid": "technician_task_default_get", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1359"}, {"caller_nid": "technician_task_default_get", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1360"}, {"caller_nid": "technician_task_default_get", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1366"}, {"caller_nid": "technician_task_default_get", "callee": "from_string", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1368"}, {"caller_nid": "technician_task_default_get", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1371"}, {"caller_nid": "technician_task_default_get", "callee": "from_string", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1373"}, {"caller_nid": "technician_task_default_get", "callee": "timezone", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1379"}, {"caller_nid": "technician_task_default_get", "callee": "astimezone", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1382"}, {"caller_nid": "technician_task_default_get", "callee": "localize", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1382"}, {"caller_nid": "technician_task_default_get", "callee": "date", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1383"}, {"caller_nid": "technician_task_default_get", "callee": "astimezone", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1389"}, {"caller_nid": "technician_task_default_get", "callee": "localize", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1389"}, {"caller_nid": "technician_task_default_get", "callee": "min", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1402"}, {"caller_nid": "technician_task_create", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1414"}, {"caller_nid": "technician_task_create", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1414"}, {"caller_nid": "technician_task_create", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1414"}, {"caller_nid": "technician_task_create", "callee": "next_by_code", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1415"}, {"caller_nid": "technician_task_create", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1415"}, {"caller_nid": "technician_task_create", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1416"}, {"caller_nid": "technician_task_create", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1416"}, {"caller_nid": "technician_task_create", "callee": "str", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1417"}, {"caller_nid": "technician_task_create", "callee": "uuid4", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1417"}, {"caller_nid": "technician_task_create", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1419"}, {"caller_nid": "technician_task_create", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1419"}, {"caller_nid": "technician_task_create", "callee": "super", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1427"}, {"caller_nid": "technician_task_create", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1431"}, {"caller_nid": "technician_task_create", "callee": "filtered", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1437"}, {"caller_nid": "technician_task_create", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1438"}, {"caller_nid": "technician_task_create", "callee": "_push_tasks", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1439"}, {"caller_nid": "technician_task_fusiontechniciantask_create_vals_fill", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1450"}, {"caller_nid": "technician_task_fusiontechniciantask_create_vals_fill", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1450"}, {"caller_nid": "technician_task_fusiontechniciantask_create_vals_fill", "callee": "browse", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1451"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1464"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "super", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1465"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1467"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "filtered", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1468"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "_push_shadow_status", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1470"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "filtered", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1471"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "_push_tasks", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1473"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1480"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "len", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1480"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1481"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "len", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1481"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "min", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1482"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1485"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "set", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1489"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "keys", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1489"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "set", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1502"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "keys", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1502"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "set", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1503"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "add", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1506"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "add", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1508"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "super", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1509"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "set", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1511"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "add", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1513"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "add", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1515"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1522"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "abs", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1525"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "abs", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1526"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "set", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1540"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "keys", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1540"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1540"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "filtered", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1541"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "_push_tasks", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1543"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "filtered", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1545"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "_push_shadow_status", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1547"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "set", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1552"}, {"caller_nid": "technician_task_fusiontechniciantask_write", "callee": "keys", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1552"}, {"caller_nid": "technician_task_fusiontechniciantask_sync_calendar_event", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1572"}, {"caller_nid": "technician_task_fusiontechniciantask_sync_calendar_event", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1572"}, {"caller_nid": "technician_task_fusiontechniciantask_sync_calendar_event", "callee": "unlink", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1576"}, {"caller_nid": "technician_task_fusiontechniciantask_sync_calendar_event", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1576"}, {"caller_nid": "technician_task_fusiontechniciantask_sync_calendar_event", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1577"}, {"caller_nid": "technician_task_fusiontechniciantask_sync_calendar_event", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1583"}, {"caller_nid": "technician_task_fusiontechniciantask_sync_calendar_event", "callee": "dict", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1583"}, {"caller_nid": "technician_task_fusiontechniciantask_sync_calendar_event", "callee": "join", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1587"}, {"caller_nid": "technician_task_fusiontechniciantask_sync_calendar_event", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1591"}, {"caller_nid": "technician_task_fusiontechniciantask_sync_calendar_event", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1593"}, {"caller_nid": "technician_task_fusiontechniciantask_sync_calendar_event", "callee": "mapped", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1601"}, {"caller_nid": "technician_task_fusiontechniciantask_sync_calendar_event", "callee": "join", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1603"}, {"caller_nid": "technician_task_fusiontechniciantask_sync_calendar_event", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1608"}, {"caller_nid": "technician_task_fusiontechniciantask_sync_calendar_event", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1611"}, {"caller_nid": "technician_task_fusiontechniciantask_sync_calendar_event", "callee": "warning", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1613"}, {"caller_nid": "technician_task_fusiontechniciantask_sync_calendar_event", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1621"}, {"caller_nid": "technician_task_fill_address_vals", "callee": "update", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1628"}, {"caller_nid": "technician_task_fill_address_vals", "callee": "hasattr", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1635"}, {"caller_nid": "technician_task_fill_address_vals", "callee": "hasattr", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1636"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_day_travel_chains", "callee": "set", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1654"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_day_travel_chains", "callee": "add", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1659"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_day_travel_chains", "callee": "add", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1661"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_address", "callee": "browse", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1672"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_address", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1672"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_address", "callee": "exists", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1673"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_address", "callee": "strip", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1674"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_address", "callee": "strip", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1676"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_address", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1676"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_address", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1676"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address_string", "callee": "strip", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1685"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address_string", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1685"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address_string", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1685"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address_string", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1696"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address_string", "callee": "json", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1697"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address_string", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1698"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address_string", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1698"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address_string", "callee": "warning", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1702"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_coords", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1714"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_coords", "callee": "browse", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1715"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_coords", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1715"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_coords", "callee": "exists", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1716"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_coords", "callee": "strip", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1721"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_coords", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1723"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_coords", "callee": "strip", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1729"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_coords", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1729"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_coords", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1733"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_coords", "callee": "split", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1736"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_coords", "callee": "float", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1737"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_coords", "callee": "float", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1737"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_start_coords", "callee": "set_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1742"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_combos_travel", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1755"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_combos_travel", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1756"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_combos_travel", "callee": "date", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1762"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_combos_travel", "callee": "str", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1763"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_combos_travel", "callee": "str", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1766"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_combos_travel", "callee": "str", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1775"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_combos_travel", "callee": "str", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1777"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_combos_travel", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1790"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_combos_travel", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1790"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_combos_travel", "callee": "enumerate", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1801"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_combos_travel", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1806"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_combos_travel", "callee": "str", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1808"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_combos_travel", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1810"}, {"caller_nid": "technician_task_fusiontechniciantask_get_tech_current_location", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1827"}, {"caller_nid": "technician_task_fusiontechniciantask_get_tech_current_location", "callee": "subtract", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1828"}, {"caller_nid": "technician_task_fusiontechniciantask_get_tech_current_location", "callee": "now", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1828"}, {"caller_nid": "technician_task_fusiontechniciantask_get_tech_current_location", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1829"}, {"caller_nid": "technician_task_fusiontechniciantask_get_tech_current_location", "callee": "date", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1838"}, {"caller_nid": "technician_task_fusiontechniciantask_get_tech_current_location", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1839"}, {"caller_nid": "technician_task_fusiontechniciantask_get_tech_current_location", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1839"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_travel_from_current_location", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1862"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_travel_from_current_location", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1863"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_travel_from_current_location", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1864"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_travel_from_current_location", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1871"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_travel_from_current_location", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1872"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_remaining_tasks_travel", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1883"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_remaining_tasks_travel", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1884"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_remaining_tasks_travel", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1885"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_remaining_tasks_travel", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1904"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_remaining_tasks_travel", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1904"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_remaining_tasks_travel", "callee": "enumerate", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1917"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_remaining_tasks_travel", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1921"}, {"caller_nid": "technician_task_fusiontechniciantask_recalculate_remaining_tasks_travel", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1925"}, {"caller_nid": "technician_task_fusiontechniciantask_check_previous_tasks_completed", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1941"}, {"caller_nid": "technician_task_fusiontechniciantask_check_previous_tasks_completed", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1942"}, {"caller_nid": "technician_task_fusiontechniciantask_check_previous_tasks_completed", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1942"}, {"caller_nid": "technician_task_fusiontechniciantask_check_previous_tasks_completed", "callee": "UserError", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1952"}, {"caller_nid": "technician_task_fusiontechniciantask_check_previous_tasks_completed", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1952"}, {"caller_nid": "technician_task_fusiontechniciantask_write_action_location", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1959"}, {"caller_nid": "technician_task_fusiontechniciantask_write_action_location", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1960"}, {"caller_nid": "technician_task_fusiontechniciantask_write_action_location", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1961"}, {"caller_nid": "technician_task_fusiontechniciantask_write_action_location", "callee": "update", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1968"}, {"caller_nid": "technician_task_fusiontechniciantask_write_action_location", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1970"}, {"caller_nid": "technician_task_fusiontechniciantask_action_start_en_route", "callee": "UserError", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1976"}, {"caller_nid": "technician_task_fusiontechniciantask_action_start_en_route", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1976"}, {"caller_nid": "technician_task_fusiontechniciantask_action_start_en_route", "callee": "_push_shadow_status", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1986"}, {"caller_nid": "technician_task_fusiontechniciantask_action_start_en_route", "callee": "exception", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1988"}, {"caller_nid": "technician_task_fusiontechniciantask_action_start_en_route", "callee": "search_count", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1991"}, {"caller_nid": "technician_task_fusiontechniciantask_action_start_en_route", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1991"}, {"caller_nid": "technician_task_fusiontechniciantask_action_start_en_route", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1998"}, {"caller_nid": "technician_task_fusiontechniciantask_action_start_en_route", "callee": "dict", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L1998"}, {"caller_nid": "technician_task_fusiontechniciantask_action_start_task", "callee": "UserError", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2012"}, {"caller_nid": "technician_task_fusiontechniciantask_action_start_task", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2012"}, {"caller_nid": "technician_task_fusiontechniciantask_action_start_task", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2017"}, {"caller_nid": "technician_task_fusiontechniciantask_action_start_task", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2018"}, {"caller_nid": "technician_task_fusiontechniciantask_action_complete_task", "callee": "UserError", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2026"}, {"caller_nid": "technician_task_fusiontechniciantask_action_complete_task", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2026"}, {"caller_nid": "technician_task_fusiontechniciantask_action_complete_task", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2031"}, {"caller_nid": "technician_task_fusiontechniciantask_action_complete_task", "callee": "now", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2033"}, {"caller_nid": "technician_task_fusiontechniciantask_action_complete_task", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2034"}, {"caller_nid": "technician_task_fusiontechniciantask_action_complete_task", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2035"}, {"caller_nid": "technician_task_fusiontechniciantask_action_complete_task", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2036"}, {"caller_nid": "technician_task_fusiontechniciantask_action_complete_task", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2037"}, {"caller_nid": "technician_task_fusiontechniciantask_action_complete_task", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2038"}, {"caller_nid": "technician_task_fusiontechniciantask_action_cancel_task", "callee": "UserError", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2064"}, {"caller_nid": "technician_task_fusiontechniciantask_action_cancel_task", "callee": "_", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2064"}, {"caller_nid": "technician_task_fusiontechniciantask_action_cancel_task", "callee": "_push_shadow_status", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2070"}, {"caller_nid": "technician_task_fusiontechniciantask_action_cancel_task", "callee": "exception", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2072"}, {"caller_nid": "technician_task_fusiontechniciantask_action_reschedule", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2086"}, {"caller_nid": "technician_task_fusiontechniciantask_action_reschedule", "callee": "str", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2095"}, {"caller_nid": "technician_task_fusiontechniciantask_post_status_message", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2112"}, {"caller_nid": "technician_task_fusiontechniciantask_post_status_message", "callee": "dict", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2113"}, {"caller_nid": "technician_task_fusiontechniciantask_post_status_message", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2114"}, {"caller_nid": "technician_task_fusiontechniciantask_post_status_message", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2122"}, {"caller_nid": "technician_task_fusiontechniciantask_post_status_message", "callee": "Markup", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2123"}, {"caller_nid": "technician_task_fusiontechniciantask_post_status_message", "callee": "message_post", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2127"}, {"caller_nid": "technician_task_fusiontechniciantask_notify_scheduler_on_completion", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2140"}, {"caller_nid": "technician_task_fusiontechniciantask_notify_scheduler_on_completion", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2154"}, {"caller_nid": "technician_task_fusiontechniciantask_notify_scheduler_on_completion", "callee": "dict", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2154"}, {"caller_nid": "technician_task_fusiontechniciantask_notify_scheduler_on_completion", "callee": "join", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2166"}, {"caller_nid": "technician_task_fusiontechniciantask_notify_scheduler_on_completion", "callee": "Markup", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2170"}, {"caller_nid": "technician_task_fusiontechniciantask_notify_scheduler_on_completion", "callee": "message_notify", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2189"}, {"caller_nid": "technician_task_fusiontechniciantask_notify_scheduler_on_completion", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2189"}, {"caller_nid": "technician_task_fusiontechniciantask_get_task_email_details", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2201"}, {"caller_nid": "technician_task_fusiontechniciantask_get_task_email_details", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2202"}, {"caller_nid": "technician_task_fusiontechniciantask_get_task_email_details", "callee": "dict", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2202"}, {"caller_nid": "technician_task_fusiontechniciantask_get_task_email_details", "callee": "strftime", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2209"}, {"caller_nid": "technician_task_fusiontechniciantask_get_task_email_details", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2212"}, {"caller_nid": "technician_task_fusiontechniciantask_get_task_email_details", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2214"}, {"caller_nid": "technician_task_fusiontechniciantask_get_task_email_details", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2216"}, {"caller_nid": "technician_task_fusiontechniciantask_get_task_email_recipients", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2222"}, {"caller_nid": "technician_task_fusiontechniciantask_get_task_email_recipients", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2228"}, {"caller_nid": "technician_task_fusiontechniciantask_get_task_email_recipients", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2233"}, {"caller_nid": "technician_task_fusiontechniciantask_get_task_email_recipients", "callee": "list", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2235"}, {"caller_nid": "technician_task_fusiontechniciantask_get_task_email_recipients", "callee": "set", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2235"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_en_route_email", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2279"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_en_route_email", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2289"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_en_route_email", "callee": "dict", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2289"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_en_route_email", "callee": "strftime", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2299"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_en_route_email", "callee": "_email_build", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2318"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_en_route_email", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2333"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_en_route_email", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2334"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_en_route_email", "callee": "join", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2338"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_en_route_email", "callee": "join", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2339"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_en_route_email", "callee": "send", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2353"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_en_route_email", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2353"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_en_route_email", "callee": "info", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2354"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_en_route_email", "callee": "error", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2357"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2367"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2377"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "dict", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2377"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "title", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2384"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2387"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "strftime", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2387"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "append", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2389"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "_email_note", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2405"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "_email_build", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2420"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "lower", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2424"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2438"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2439"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "join", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2443"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "join", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2444"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "send", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2458"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2458"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "info", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2459"}, {"caller_nid": "technician_task_fusiontechniciantask_send_task_completion_email", "callee": "error", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2462"}, {"caller_nid": "technician_task_fusiontechniciantask_get_next_task_for_technician", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2470"}, {"caller_nid": "technician_task_fusiontechniciantask_get_next_task_for_technician", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2471"}, {"caller_nid": "technician_task_fusiontechniciantask_get_next_task_for_technician", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2471"}, {"caller_nid": "technician_task_fusiontechniciantask_get_google_maps_api_key", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2487"}, {"caller_nid": "technician_task_fusiontechniciantask_get_google_maps_api_key", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2487"}, {"caller_nid": "technician_task_get_map_data", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2498"}, {"caller_nid": "technician_task_get_map_data", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2498"}, {"caller_nid": "technician_task_get_map_data", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2500"}, {"caller_nid": "technician_task_get_map_data", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2500"}, {"caller_nid": "technician_task_get_map_data", "callee": "AND", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2506"}, {"caller_nid": "technician_task_get_map_data", "callee": "search_read", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2507"}, {"caller_nid": "technician_task_get_map_data", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2507"}, {"caller_nid": "technician_task_get_map_data", "callee": "get_latest_locations", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2517"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2539"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "date", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2545"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "strip", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2549"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2550"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2550"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "browse", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2560"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2560"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "exists", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2561"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "strip", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2565"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2572"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "strip", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2579"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2586"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2587"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "split", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2590"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "float", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2591"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "float", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2591"}, {"caller_nid": "technician_task_get_tech_start_locations", "callee": "set_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2598"}, {"caller_nid": "technician_task_get_clock_in_locations", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2622"}, {"caller_nid": "technician_task_get_clock_in_locations", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2622"}, {"caller_nid": "technician_task_get_clock_in_locations", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2632"}, {"caller_nid": "technician_task_get_clock_in_locations", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2633"}, {"caller_nid": "technician_task_get_clock_in_locations", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2634"}, {"caller_nid": "technician_task_get_clock_in_locations", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2638"}, {"caller_nid": "technician_task_get_clock_in_locations", "callee": "list", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2639"}, {"caller_nid": "technician_task_get_clock_in_locations", "callee": "combine", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2646"}, {"caller_nid": "technician_task_get_clock_in_locations", "callee": "time", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2646"}, {"caller_nid": "technician_task_get_clock_in_locations", "callee": "timedelta", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2647"}, {"caller_nid": "technician_task_get_clock_in_locations", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2649"}, {"caller_nid": "technician_task_get_clock_in_locations", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2656"}, {"caller_nid": "technician_task_get_clock_in_locations", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2662"}, {"caller_nid": "technician_task_get_clock_in_locations", "callee": "hasattr", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2670"}, {"caller_nid": "technician_task_get_clock_in_locations", "callee": "hasattr", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2674"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2692"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2696"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address", "callee": "strip", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2697"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2697"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2714"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address", "callee": "json", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2715"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2716"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2716"}, {"caller_nid": "technician_task_fusiontechniciantask_geocode_address", "callee": "warning", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2724"}, {"caller_nid": "technician_task_fusiontechniciantask_calculate_travel_time", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2731"}, {"caller_nid": "technician_task_fusiontechniciantask_calculate_travel_time", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2735"}, {"caller_nid": "technician_task_fusiontechniciantask_calculate_travel_time", "callee": "strip", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2736"}, {"caller_nid": "technician_task_fusiontechniciantask_calculate_travel_time", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2736"}, {"caller_nid": "technician_task_fusiontechniciantask_calculate_travel_time", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2760"}, {"caller_nid": "technician_task_fusiontechniciantask_calculate_travel_time", "callee": "json", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2761"}, {"caller_nid": "technician_task_fusiontechniciantask_calculate_travel_time", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2762"}, {"caller_nid": "technician_task_fusiontechniciantask_calculate_travel_time", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2764"}, {"caller_nid": "technician_task_fusiontechniciantask_calculate_travel_time", "callee": "round", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2768"}, {"caller_nid": "technician_task_fusiontechniciantask_calculate_travel_time", "callee": "round", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2769"}, {"caller_nid": "technician_task_fusiontechniciantask_calculate_travel_time", "callee": "warning", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2773"}, {"caller_nid": "technician_task_maps_api_headers", "callee": "strip", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2785"}, {"caller_nid": "technician_task_maps_api_headers", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2785"}, {"caller_nid": "technician_task_maps_api_headers", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2785"}, {"caller_nid": "technician_task_osrm_travel", "callee": "rstrip", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2800"}, {"caller_nid": "technician_task_osrm_travel", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2802"}, {"caller_nid": "technician_task_osrm_travel", "callee": "json", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2803"}, {"caller_nid": "technician_task_osrm_travel", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2804"}, {"caller_nid": "technician_task_osrm_travel", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2804"}, {"caller_nid": "technician_task_osrm_travel", "callee": "max", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2806"}, {"caller_nid": "technician_task_osrm_travel", "callee": "round", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2806"}, {"caller_nid": "technician_task_osrm_travel", "callee": "round", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2807"}, {"caller_nid": "technician_task_osrm_travel", "callee": "warning", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2810"}, {"caller_nid": "technician_task_nominatim_geocode", "callee": "strip", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2822"}, {"caller_nid": "technician_task_nominatim_geocode", "callee": "rstrip", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2825"}, {"caller_nid": "technician_task_nominatim_geocode", "callee": "strip", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2827"}, {"caller_nid": "technician_task_nominatim_geocode", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2832"}, {"caller_nid": "technician_task_nominatim_geocode", "callee": "json", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2835"}, {"caller_nid": "technician_task_nominatim_geocode", "callee": "isinstance", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2836"}, {"caller_nid": "technician_task_nominatim_geocode", "callee": "float", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2837"}, {"caller_nid": "technician_task_nominatim_geocode", "callee": "float", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2837"}, {"caller_nid": "technician_task_nominatim_geocode", "callee": "warning", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2839"}, {"caller_nid": "technician_task_fusiontechniciantask_do_calculate_travel_times", "callee": "date", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2864"}, {"caller_nid": "technician_task_fusiontechniciantask_do_calculate_travel_times", "callee": "items", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2866"}, {"caller_nid": "technician_task_fusiontechniciantask_do_calculate_travel_times", "callee": "sorted", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2867"}, {"caller_nid": "technician_task_fusiontechniciantask_do_calculate_travel_times", "callee": "enumerate", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2893"}, {"caller_nid": "technician_task_fusiontechniciantask_do_calculate_travel_times", "callee": "enumerate", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2906"}, {"caller_nid": "technician_task_cron_calculate_travel_times", "callee": "context_today", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2931"}, {"caller_nid": "technician_task_cron_calculate_travel_times", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2932"}, {"caller_nid": "technician_task_cron_calculate_travel_times", "callee": "subtract", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2942"}, {"caller_nid": "technician_task_cron_calculate_travel_times", "callee": "now", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2942"}, {"caller_nid": "technician_task_cron_calculate_travel_times", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2943"}, {"caller_nid": "technician_task_cron_calculate_travel_times", "callee": "set", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2944"}, {"caller_nid": "technician_task_cron_calculate_travel_times", "callee": "mapped", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2944"}, {"caller_nid": "technician_task_cron_calculate_travel_times", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2944"}, {"caller_nid": "technician_task_cron_calculate_travel_times", "callee": "filtered", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2957"}, {"caller_nid": "technician_task_cron_calculate_travel_times", "callee": "info", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2960"}, {"caller_nid": "technician_task_cron_calculate_travel_times", "callee": "len", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2961"}, {"caller_nid": "technician_task_cron_calculate_travel_times", "callee": "len", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2961"}, {"caller_nid": "technician_task_cron_calculate_travel_times", "callee": "info", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2963"}, {"caller_nid": "technician_task_cron_calculate_travel_times", "callee": "len", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2963"}, {"caller_nid": "technician_task_cron_check_late_arrivals", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2971"}, {"caller_nid": "technician_task_cron_check_late_arrivals", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2972"}, {"caller_nid": "technician_task_cron_check_late_arrivals", "callee": "lower", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2973"}, {"caller_nid": "technician_task_cron_check_late_arrivals", "callee": "date", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2977"}, {"caller_nid": "technician_task_cron_check_late_arrivals", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2980"}, {"caller_nid": "technician_task_cron_check_late_arrivals", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2980"}, {"caller_nid": "technician_task_cron_check_late_arrivals", "callee": "int", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2990"}, {"caller_nid": "technician_task_cron_check_late_arrivals", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2999"}, {"caller_nid": "technician_task_cron_check_late_arrivals", "callee": "dict", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L2999"}, {"caller_nid": "technician_task_cron_check_late_arrivals", "callee": "message_notify", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3014"}, {"caller_nid": "technician_task_cron_check_late_arrivals", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3014"}, {"caller_nid": "technician_task_cron_check_late_arrivals", "callee": "Markup", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3017"}, {"caller_nid": "technician_task_cron_check_late_arrivals", "callee": "warning", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3026"}, {"caller_nid": "technician_task_cron_check_late_arrivals", "callee": "with_context", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3028"}, {"caller_nid": "technician_task_cron_check_late_arrivals", "callee": "info", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3033"}, {"caller_nid": "technician_task_cron_check_late_arrivals", "callee": "len", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3033"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_tasks_for_date", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3041"}, {"caller_nid": "technician_task_fusiontechniciantask_get_technician_tasks_for_date", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3041"}, {"caller_nid": "technician_task_fusiontechniciantask_get_next_task", "callee": "context_today", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3049"}, {"caller_nid": "technician_task_fusiontechniciantask_get_next_task", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3050"}, {"caller_nid": "technician_task_fusiontechniciantask_get_next_task", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3050"}, {"caller_nid": "technician_task_fusiontechniciantask_get_current_task", "callee": "context_today", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3058"}, {"caller_nid": "technician_task_fusiontechniciantask_get_current_task", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3059"}, {"caller_nid": "technician_task_fusiontechniciantask_get_current_task", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3059"}, {"caller_nid": "technician_task_fusiontechniciantask_send_push_notification", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3071"}, {"caller_nid": "technician_task_fusiontechniciantask_send_push_notification", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3072"}, {"caller_nid": "technician_task_fusiontechniciantask_send_push_notification", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3073"}, {"caller_nid": "technician_task_fusiontechniciantask_send_push_notification", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3080"}, {"caller_nid": "technician_task_fusiontechniciantask_send_push_notification", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3081"}, {"caller_nid": "technician_task_fusiontechniciantask_send_push_notification", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3082"}, {"caller_nid": "technician_task_fusiontechniciantask_send_push_notification", "callee": "warning", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3084"}, {"caller_nid": "technician_task_fusiontechniciantask_send_push_notification", "callee": "warning", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3090"}, {"caller_nid": "technician_task_fusiontechniciantask_send_push_notification", "callee": "dumps", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3093"}, {"caller_nid": "technician_task_fusiontechniciantask_send_push_notification", "callee": "webpush", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3103"}, {"caller_nid": "technician_task_fusiontechniciantask_send_push_notification", "callee": "warning", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3116"}, {"caller_nid": "technician_task_fusiontechniciantask_send_push_notification", "callee": "lower", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3118"}, {"caller_nid": "technician_task_fusiontechniciantask_send_push_notification", "callee": "str", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3118"}, {"caller_nid": "technician_task_fusiontechniciantask_send_push_notification", "callee": "str", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3118"}, {"caller_nid": "technician_task_fusiontechniciantask_send_push_notification", "callee": "now", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3123"}, {"caller_nid": "technician_task_cron_send_push_notifications", "callee": "sudo", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3129"}, {"caller_nid": "technician_task_cron_send_push_notifications", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3130"}, {"caller_nid": "technician_task_cron_send_push_notifications", "callee": "int", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3133"}, {"caller_nid": "technician_task_cron_send_push_notifications", "callee": "get_param", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3133"}, {"caller_nid": "technician_task_cron_send_push_notifications", "callee": "search", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3136"}, {"caller_nid": "technician_task_cron_send_push_notifications", "callee": "date", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3137"}, {"caller_nid": "technician_task_cron_send_push_notifications", "callee": "int", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3143"}, {"caller_nid": "technician_task_cron_send_push_notifications", "callee": "int", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3144"}, {"caller_nid": "technician_task_cron_send_push_notifications", "callee": "replace", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3145"}, {"caller_nid": "technician_task_cron_send_push_notifications", "callee": "total_seconds", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3148"}, {"caller_nid": "technician_task_cron_send_push_notifications", "callee": "get", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3150"}, {"caller_nid": "technician_task_cron_send_push_notifications", "callee": "dict", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3150"}, {"caller_nid": "technician_task_fusiontechniciantask_get_local_tz", "callee": "timezone", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3171"}, {"caller_nid": "technician_task_fusiontechniciantask_get_local_tz", "callee": "timezone", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3173"}, {"caller_nid": "technician_task_fusiontechniciantask_utc_to_local", "callee": "astimezone", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3180"}, {"caller_nid": "technician_task_fusiontechniciantask_utc_to_local", "callee": "localize", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3180"}, {"caller_nid": "technician_task_fusiontechniciantask_local_now", "callee": "now", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3184"}, {"caller_nid": "technician_task_float_to_time_str", "callee": "int", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3191"}, {"caller_nid": "technician_task_float_to_time_str", "callee": "int", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3192"}, {"caller_nid": "technician_task_float_to_time_str", "callee": "round", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3192"}, {"caller_nid": "technician_task_fusiontechniciantask_get_google_maps_url", "callee": "ensure_one", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3202"}, {"caller_nid": "technician_task_fusiontechniciantask_get_google_maps_url", "callee": "quote", "source_file": "/Users/gurpreet/Github/Odoo-Modules/fusion_tasks/models/technician_task.py", "source_location": "L3204"}]}