# -*- coding: utf-8 -*- # Copyright 2024-2026 Nexa Systems Inc. # License OPL-1 (Odoo Proprietary License v1.0) { 'name': 'Fusion Repairs', 'version': '19.0.1.8.0', 'category': 'Inventory/Repairs', 'summary': 'Guided medical equipment repair intake, dispatch, maintenance, and self-service portal', 'description': """ Fusion Repairs ============== Comprehensive repairs and maintenance management for medical equipment retailers and service providers (hospital beds, wheelchairs, stairlifts, porch lifts, walkers, mattresses, rollators). Phase 1 - MVP ------------- - Three intake surfaces sharing one service layer: * Backend wizard for CS reps on the phone * Sales rep portal (/my/repair/new) for reps on the road * Public client self-service portal (/repair) - voicemail ready - Guided question templates per medical equipment category - Phone-first partner lookup with duplicate-call detection - Multi-equipment per call (one repair.order per unit) - Photo / video capture during intake - Third-party equipment support (equipment we didn't sell) - Auto warranty detection from original sale order - Office notification recipients + 4 follow-up activities - repair.order extensions linked to fusion.technician.task Phase 2-4 (roadmap) ------------------- - AI self-check engine with strict medical safety guardrails - Upsell engine and direct-buy parts/plans - Repair warranty tracking (free re-do window) - Visit report wizard with Poynt terminal payment - Maintenance contracts with client self-booking - Weekend safety on-call paging - SMS notifications, compliance certificates, analytics Copyright (C) 2024-2026 Nexa Systems Inc. All rights reserved. """, 'author': 'Nexa Systems Inc.', 'website': 'https://www.nexasystems.ca', 'maintainer': 'Nexa Systems Inc.', 'support': 'support@nexasystems.ca', 'license': 'OPL-1', 'price': 0.00, 'currency': 'CAD', 'depends': [ 'base', 'mail', 'portal', 'website', 'sale_management', 'stock', 'repair', 'maintenance', 'fusion_tasks', 'fusion_poynt', 'fusion_authorizer_portal', ], 'data': [ # Security 'security/security.xml', 'security/ir.model.access.csv', # Data (must load before views that reference records) 'data/ir_sequence_data.xml', 'data/ir_config_parameter_data.xml', 'data/ir_cron_data.xml', 'data/mail_activity_type_data.xml', 'data/mail_template_data.xml', 'data/repair_product_category_data.xml', 'data/intake_template_data.xml', 'data/self_check_data.xml', # Views 'views/repair_product_category_views.xml', 'views/intake_template_views.xml', 'views/service_catalog_views.xml', 'views/repair_warranty_views.xml', 'views/maintenance_contract_views.xml', 'views/repair_dashboard_views.xml', 'views/repair_inspection_views.xml', 'views/repair_order_views.xml', 'views/repair_service_plan_views.xml', 'views/sale_order_views.xml', 'views/technician_task_views.xml', 'views/res_partner_views.xml', 'views/res_users_views.xml', 'views/res_config_settings_views.xml', # Portal templates 'views/portal_sales_rep_templates.xml', 'views/portal_client_repair_templates.xml', 'views/portal_maintenance_templates.xml', # Wizards 'wizard/repair_intake_wizard_views.xml', 'wizard/repair_visit_report_wizard_views.xml', 'wizard/qr_sticker_wizard_views.xml', # Reports 'report/qr_sticker_report.xml', 'report/inspection_certificate_report.xml', # Menus (last, after all referenced actions exist) 'views/menus.xml', ], 'assets': { 'web.assets_backend': [ # Tokens MUST load first - dashboard.scss references its variables. 'fusion_repairs/static/src/scss/_fr_tokens.scss', 'fusion_repairs/static/src/scss/dashboard.scss', 'fusion_repairs/static/src/components/dashboard/dashboard.js', 'fusion_repairs/static/src/components/dashboard/dashboard.xml', ], 'web.assets_frontend': [ 'fusion_repairs/static/src/scss/portal_repair_mobile.scss', 'fusion_repairs/static/src/scss/portal_client_repair.scss', 'fusion_repairs/static/src/js/portal_repair_intake.js', 'fusion_repairs/static/src/js/portal_client_repair.js', ], }, 'images': ['static/description/icon.png'], 'installable': True, 'application': True, 'auto_install': False, }