{
    "openapi": "3.0.3",
    "info": {
        "title": "Archi RO Backend API",
        "version": "1.0.0",
        "description": "REST API for **Supreme Water Solutions** \u2014 admin panel, franchise CRM, customer app, and technician app.\n\n## Authentication\nMost routes require a JWT **access token** from a role-specific login:\n- `POST /api/admin/login` \u2014 super admin\n- `POST /api/franchise/login` \u2014 franchise branch\n- `POST /api/customer/login` \u2014 customer app\n- `POST /api/technician/login` \u2014 technician app\n\nSend: `Authorization: Bearer <access_token>`\n\nUse `refresh_token` from login with `POST /api/refresh` to rotate tokens.\n\n## Roles\n- **Public** \u2014 no JWT (login, register, refresh)\n- **auth:api** \u2014 any valid JWT\n- **admin** \u2014 `users.type = admin`\n- **franchise** \u2014 franchise login linked to `franchises.user_id`\n- **admin_or_franchise** \u2014 either role\n\n## Conventions\n- Base path: `/api`\n- JSON request/response bodies unless noted (multipart for image uploads)\n- Pagination: `?page=1&per_page=50` on list endpoints\n\n---\n\n**Auto-generated:** 885 operations across 638 paths from `routes/api.php`. Key endpoints include detailed request/response schemas; others accept JSON bodies as documented in controllers."
    },
    "servers": [
        {
            "url": "http://localhost",
            "description": "Current server (APP_URL)"
        },
        {
            "url": "https://coreback.supremewatersolutions.com",
            "description": "Production"
        }
    ],
    "tags": [
        {
            "name": "AMC",
            "description": "AMC API endpoints."
        },
        {
            "name": "Account Masters",
            "description": "Account Masters API endpoints."
        },
        {
            "name": "Activeinactivefranchise",
            "description": "Activeinactivefranchise API endpoints."
        },
        {
            "name": "Activeinactiveproducts",
            "description": "Activeinactiveproducts API endpoints."
        },
        {
            "name": "Admin \u2014 Account Master",
            "description": "Super-admin endpoints (Account Master)."
        },
        {
            "name": "Admin \u2014 Account Masters",
            "description": "Super-admin endpoints (Account Masters)."
        },
        {
            "name": "Admin \u2014 Amc",
            "description": "Super-admin endpoints (Amc)."
        },
        {
            "name": "Admin \u2014 Amc Plans",
            "description": "Super-admin endpoints (Amc Plans)."
        },
        {
            "name": "Admin \u2014 Amc Subscriptions",
            "description": "Super-admin endpoints (Amc Subscriptions)."
        },
        {
            "name": "Admin \u2014 Bill Of Supplies",
            "description": "Super-admin endpoints (Bill Of Supplies)."
        },
        {
            "name": "Admin \u2014 Complaintregisters",
            "description": "Super-admin endpoints (Complaintregisters)."
        },
        {
            "name": "Admin \u2014 Complaints",
            "description": "Super-admin endpoints (Complaints)."
        },
        {
            "name": "Admin \u2014 Createfranchisesmstemplate",
            "description": "Super-admin endpoints (Createfranchisesmstemplate)."
        },
        {
            "name": "Admin \u2014 Customer",
            "description": "Super-admin endpoints (Customer)."
        },
        {
            "name": "Admin \u2014 Customer Products",
            "description": "Super-admin endpoints (Customer Products)."
        },
        {
            "name": "Admin \u2014 Customers",
            "description": "Super-admin endpoints (Customers)."
        },
        {
            "name": "Admin \u2014 Dashboard",
            "description": "All admin dashboard GET endpoints accept optional **`franchise_id`** (branch dropdown).\n\n**Scope rules**\n- **Omitted** \u2014 aggregate across every franchise in the admin network (`franchises.admin_id` = logged-in admin; HQ-linked rows via `franchises.user_id` included).\n- **Valid ID in network** \u2014 narrow metrics to that branch only.\n- **ID outside network** \u2014 **403** `\"The selected franchise is not available for the logged-in user\"`.\n\nResponses echo resolved scope as `meta.franchise_ids` + `meta.franchise_id_filter`, or inside `filters` on statistics/chart payloads. Chart endpoints may also return `franchises[]` for the dropdown.\n\n**Covered paths:** alerts, recent-activities, amc-risk, expiring-amc, receivables, network-revenue, revenue-by-franchise, monthly-statistics, top-services, top-franchises, top-statistics-report, service-frequency, technician-performance, monthly-orders-by-branch, service-amc-calendar, inventory-insights, top-selling-products, franchise-orders/latest.\n\nImplementation: `FranchiseResolver::dashboardFranchiseIds()` via `ResolvesDashboardFranchiseScope` trait."
        },
        {
            "name": "Admin \u2014 Date Wise Collections",
            "description": "Super-admin endpoints (Date Wise Collections)."
        },
        {
            "name": "Admin \u2014 Deletetechnicians",
            "description": "Super-admin endpoints (Deletetechnicians)."
        },
        {
            "name": "Admin \u2014 Deliveredinventoryrequest",
            "description": "Super-admin endpoints (Deliveredinventoryrequest)."
        },
        {
            "name": "Admin \u2014 Franchise",
            "description": "Super-admin endpoints (Franchise)."
        },
        {
            "name": "Admin \u2014 Franchise Amc Status",
            "description": "Super-admin endpoints (Franchise Amc Status)."
        },
        {
            "name": "Admin \u2014 Franchise Sms",
            "description": "Super-admin endpoints (Franchise Sms)."
        },
        {
            "name": "Admin \u2014 Franchise Sms Templates",
            "description": "Super-admin endpoints (Franchise Sms Templates)."
        },
        {
            "name": "Admin \u2014 Franchises",
            "description": "Super-admin endpoints (Franchises)."
        },
        {
            "name": "Admin \u2014 Getallaprovedrequests",
            "description": "Super-admin endpoints (Getallaprovedrequests)."
        },
        {
            "name": "Admin \u2014 Getallinventories",
            "description": "Super-admin endpoints (Getallinventories)."
        },
        {
            "name": "Admin \u2014 Getallrejectedrequests",
            "description": "Super-admin endpoints (Getallrejectedrequests)."
        },
        {
            "name": "Admin \u2014 Getalltechnicians",
            "description": "Super-admin endpoints (Getalltechnicians)."
        },
        {
            "name": "Admin \u2014 Getinventoryrequests",
            "description": "Super-admin endpoints (Getinventoryrequests)."
        },
        {
            "name": "Admin \u2014 Gettechniciansbyid",
            "description": "Super-admin endpoints (Gettechniciansbyid)."
        },
        {
            "name": "Admin \u2014 Installation Pickup Tasks",
            "description": "Super-admin endpoints (Installation Pickup Tasks)."
        },
        {
            "name": "Admin \u2014 Inventories",
            "description": "Super-admin endpoints (Inventories)."
        },
        {
            "name": "Admin \u2014 Inventoryrequests",
            "description": "Super-admin endpoints (Inventoryrequests)."
        },
        {
            "name": "Admin \u2014 Login",
            "description": "Super-admin endpoints (Login)."
        },
        {
            "name": "Admin \u2014 Machine",
            "description": "Super-admin endpoints (Machine)."
        },
        {
            "name": "Admin \u2014 Machines",
            "description": "Super-admin endpoints (Machines)."
        },
        {
            "name": "Admin \u2014 Payment Entries",
            "description": "Super-admin endpoints (Payment Entries)."
        },
        {
            "name": "Admin \u2014 Payment Entry",
            "description": "Super-admin endpoints (Payment Entry)."
        },
        {
            "name": "Admin \u2014 Product Enquiries",
            "description": "Super-admin endpoints (Product Enquiries)."
        },
        {
            "name": "Admin \u2014 Products",
            "description": "Super-admin endpoints (Products)."
        },
        {
            "name": "Admin \u2014 Purchase",
            "description": "Super-admin endpoints (Purchase)."
        },
        {
            "name": "Admin \u2014 Purchase Return",
            "description": "Super-admin endpoints (Purchase Return)."
        },
        {
            "name": "Admin \u2014 Purchase Returns",
            "description": "Super-admin endpoints (Purchase Returns)."
        },
        {
            "name": "Admin \u2014 Purchases",
            "description": "Super-admin endpoints (Purchases)."
        },
        {
            "name": "Admin \u2014 Receipt Entries",
            "description": "Super-admin endpoints (Receipt Entries)."
        },
        {
            "name": "Admin \u2014 Receipt Entry",
            "description": "Super-admin endpoints (Receipt Entry)."
        },
        {
            "name": "Admin \u2014 Rental Plans",
            "description": "Super-admin endpoints (Rental Plans)."
        },
        {
            "name": "Admin \u2014 Rental Products",
            "description": "Super-admin endpoints (Rental Products)."
        },
        {
            "name": "Admin \u2014 Rental Subscriptions",
            "description": "Super-admin endpoints (Rental Subscriptions)."
        },
        {
            "name": "Admin \u2014 Reports",
            "description": "Super-admin endpoints (Reports)."
        },
        {
            "name": "Admin \u2014 Sales Return",
            "description": "Super-admin endpoints (Sales Return)."
        },
        {
            "name": "Admin \u2014 Sales Returns",
            "description": "Super-admin endpoints (Sales Returns)."
        },
        {
            "name": "Admin \u2014 Shippedinventoryrequest",
            "description": "Super-admin endpoints (Shippedinventoryrequest)."
        },
        {
            "name": "Admin \u2014 Stock Approval",
            "description": "Super-admin endpoints (Stock Approval)."
        },
        {
            "name": "Admin \u2014 Stock Approvals",
            "description": "Super-admin endpoints (Stock Approvals)."
        },
        {
            "name": "Admin \u2014 Stock From Technician",
            "description": "Super-admin endpoints (Stock From Technician)."
        },
        {
            "name": "Admin \u2014 Stock From Technicians",
            "description": "Super-admin endpoints (Stock From Technicians)."
        },
        {
            "name": "Admin \u2014 Stock Order Issues",
            "description": "Super-admin endpoints (Stock Order Issues)."
        },
        {
            "name": "Admin \u2014 Stock Orders",
            "description": "Super-admin endpoints (Stock Orders)."
        },
        {
            "name": "Admin \u2014 Stock To Technician",
            "description": "Super-admin endpoints (Stock To Technician)."
        },
        {
            "name": "Admin \u2014 Stock To Technicians",
            "description": "Super-admin endpoints (Stock To Technicians)."
        },
        {
            "name": "Admin \u2014 Tasks",
            "description": "Super-admin endpoints (Tasks)."
        },
        {
            "name": "Admin \u2014 Tax Invoice",
            "description": "Super-admin endpoints (Tax Invoice)."
        },
        {
            "name": "Admin \u2014 Tax Invoices",
            "description": "Super-admin endpoints (Tax Invoices)."
        },
        {
            "name": "Admin \u2014 Technician Ratings",
            "description": "Super-admin endpoints (Technician Ratings)."
        },
        {
            "name": "Admin \u2014 Technicians",
            "description": "Super-admin endpoints (Technicians)."
        },
        {
            "name": "Admin \u2014 Updatetechnicians",
            "description": "Super-admin endpoints (Updatetechnicians)."
        },
        {
            "name": "Amc",
            "description": "Amc API endpoints."
        },
        {
            "name": "Area Masters",
            "description": "Area Masters API endpoints."
        },
        {
            "name": "Asset Management",
            "description": "Asset Management API endpoints."
        },
        {
            "name": "Assign Task",
            "description": "Assign Task API endpoints."
        },
        {
            "name": "Assignedcomplaints",
            "description": "Assignedcomplaints API endpoints."
        },
        {
            "name": "Assigntask",
            "description": "Assigntask API endpoints."
        },
        {
            "name": "Assigntechnician",
            "description": "Assigntechnician API endpoints."
        },
        {
            "name": "Auth (JWT)",
            "description": "Auth (JWT) API endpoints."
        },
        {
            "name": "Authentication",
            "description": "Authentication API endpoints."
        },
        {
            "name": "Bank Masters",
            "description": "Bank Masters API endpoints."
        },
        {
            "name": "Bill Of Supplies",
            "description": "Bill Of Supplies API endpoints."
        },
        {
            "name": "Billing & Finance",
            "description": "Billing & Finance API endpoints."
        },
        {
            "name": "Cash Management",
            "description": "Cash Management API endpoints."
        },
        {
            "name": "Check In Checkout Images",
            "description": "Check In Checkout Images API endpoints."
        },
        {
            "name": "City Masters",
            "description": "City Masters API endpoints."
        },
        {
            "name": "Complaint Type Masters",
            "description": "Complaint Type Masters API endpoints."
        },
        {
            "name": "Createamcplan",
            "description": "Createamcplan API endpoints."
        },
        {
            "name": "Createfranchisesmstemplate",
            "description": "Createfranchisesmstemplate API endpoints."
        },
        {
            "name": "Createusersforfranchise",
            "description": "Createusersforfranchise API endpoints."
        },
        {
            "name": "Customer App",
            "description": "Customer App API endpoints."
        },
        {
            "name": "Customer App \u2014 Amc Plans",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Amc Service Requests",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Amc Subscriptions",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Complaints",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Getallinventories",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Installation Pickup Tasks",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Inventories",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Link Profile",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Login",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Product Enquiries",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Products",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Register",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Rental Plans",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Rental Products",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Rental Subscriptions",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Service Requests",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Service Summary",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Support Options",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Tasks",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer App \u2014 Water Quality Reports",
            "description": "Customer mobile app endpoints."
        },
        {
            "name": "Customer Inventories",
            "description": "Customer Inventories API endpoints."
        },
        {
            "name": "Customer Login",
            "description": "Customer Login API endpoints."
        },
        {
            "name": "Customer Notifications",
            "description": "Customer Notifications API endpoints."
        },
        {
            "name": "Customer Type Masters",
            "description": "Customer Type Masters API endpoints."
        },
        {
            "name": "Customerregister",
            "description": "Customerregister API endpoints."
        },
        {
            "name": "Customers",
            "description": "Customers API endpoints."
        },
        {
            "name": "Dashboard",
            "description": "Dashboard API endpoints."
        },
        {
            "name": "Date Wise Collections",
            "description": "Date Wise Collections API endpoints."
        },
        {
            "name": "Deletecomplaintregisters",
            "description": "Deletecomplaintregisters API endpoints."
        },
        {
            "name": "Deletefranchises",
            "description": "Deletefranchises API endpoints."
        },
        {
            "name": "Deleteinventories",
            "description": "Deleteinventories API endpoints."
        },
        {
            "name": "Deleteproducts",
            "description": "Deleteproducts API endpoints."
        },
        {
            "name": "Deletetechnicians",
            "description": "Deletetechnicians API endpoints."
        },
        {
            "name": "Franchise Login",
            "description": "Franchise Login API endpoints."
        },
        {
            "name": "Franchise Orders",
            "description": "Franchise Orders API endpoints."
        },
        {
            "name": "Franchise Sms",
            "description": "Franchise Sms API endpoints."
        },
        {
            "name": "Franchise Sms Templates",
            "description": "Franchise Sms Templates API endpoints."
        },
        {
            "name": "Franchise \u2014 Amc",
            "description": "Franchise \u2014 Amc API endpoints."
        },
        {
            "name": "Franchise \u2014 Amc Renewal Requests",
            "description": "Franchise \u2014 Amc Renewal Requests API endpoints."
        },
        {
            "name": "Franchise \u2014 Amc Subscriptions",
            "description": "Franchise \u2014 Amc Subscriptions API endpoints."
        },
        {
            "name": "Franchise \u2014 Asset Management",
            "description": "Franchise \u2014 Asset Management API endpoints."
        },
        {
            "name": "Franchise \u2014 Context",
            "description": "Franchise \u2014 Context API endpoints."
        },
        {
            "name": "Franchise \u2014 Customer Products",
            "description": "Franchise \u2014 Customer Products API endpoints."
        },
        {
            "name": "Franchise \u2014 Customers",
            "description": "Franchise \u2014 Customers API endpoints."
        },
        {
            "name": "Franchise \u2014 Dashboard",
            "description": "Franchise \u2014 Dashboard API endpoints."
        },
        {
            "name": "Franchise \u2014 Enquiries",
            "description": "Franchise \u2014 Enquiries API endpoints."
        },
        {
            "name": "Franchise \u2014 Installation Pickup Tasks",
            "description": "Franchise \u2014 Installation Pickup Tasks API endpoints."
        },
        {
            "name": "Franchise \u2014 Link Account",
            "description": "Franchise \u2014 Link Account API endpoints."
        },
        {
            "name": "Franchise \u2014 Login",
            "description": "Franchise \u2014 Login API endpoints."
        },
        {
            "name": "Franchise \u2014 Product Enquiries",
            "description": "Franchise \u2014 Product Enquiries API endpoints."
        },
        {
            "name": "Franchise \u2014 Rental Products",
            "description": "Franchise \u2014 Rental Products API endpoints."
        },
        {
            "name": "Franchise \u2014 Rental Subscriptions",
            "description": "Franchise \u2014 Rental Subscriptions API endpoints."
        },
        {
            "name": "Franchise \u2014 Reports",
            "description": "Franchise \u2014 Reports API endpoints."
        },
        {
            "name": "Franchise \u2014 Service Requests",
            "description": "Franchise \u2014 Service Requests API endpoints."
        },
        {
            "name": "Franchise \u2014 Settings",
            "description": "Franchise \u2014 Settings API endpoints."
        },
        {
            "name": "Franchiselogin",
            "description": "Franchiselogin API endpoints."
        },
        {
            "name": "Franchises",
            "description": "Franchises API endpoints."
        },
        {
            "name": "Getallamcplans",
            "description": "Getallamcplans API endpoints."
        },
        {
            "name": "Getallcomplaintregisters",
            "description": "Getallcomplaintregisters API endpoints."
        },
        {
            "name": "Getallfranchiseswithcustomers",
            "description": "Getallfranchiseswithcustomers API endpoints."
        },
        {
            "name": "Getalltechnicians",
            "description": "Getalltechnicians API endpoints."
        },
        {
            "name": "Getcheckincheckoutimagesbyid",
            "description": "Getcheckincheckoutimagesbyid API endpoints."
        },
        {
            "name": "Getcomplaintregistersbyid",
            "description": "Getcomplaintregistersbyid API endpoints."
        },
        {
            "name": "Getcustomerinventories",
            "description": "Getcustomerinventories API endpoints."
        },
        {
            "name": "Getfranchisesbyid",
            "description": "Getfranchisesbyid API endpoints."
        },
        {
            "name": "Getinventoriesbyid",
            "description": "Getinventoriesbyid API endpoints."
        },
        {
            "name": "Getproductsbyid",
            "description": "Getproductsbyid API endpoints."
        },
        {
            "name": "Gettechniciansbyid",
            "description": "Gettechniciansbyid API endpoints."
        },
        {
            "name": "Installation Pickup Tasks",
            "description": "Installation Pickup Tasks API endpoints."
        },
        {
            "name": "Inventoryrequests",
            "description": "Inventoryrequests API endpoints."
        },
        {
            "name": "Leads",
            "description": "Leads API endpoints."
        },
        {
            "name": "Link Franchise Account",
            "description": "Link Franchise Account API endpoints."
        },
        {
            "name": "Machines",
            "description": "Machines API endpoints."
        },
        {
            "name": "Offers",
            "description": "Offers API endpoints."
        },
        {
            "name": "Payment Images",
            "description": "Payment Images API endpoints."
        },
        {
            "name": "Process Reason Masters",
            "description": "Process Reason Masters API endpoints."
        },
        {
            "name": "Product Enquiries",
            "description": "Product Enquiries API endpoints."
        },
        {
            "name": "Products & Inventory",
            "description": "Products & Inventory API endpoints."
        },
        {
            "name": "Refresh Token",
            "description": "Refresh Token API endpoints."
        },
        {
            "name": "Registercustomer",
            "description": "Registercustomer API endpoints."
        },
        {
            "name": "Rental Plans",
            "description": "Rental Plans API endpoints."
        },
        {
            "name": "Rental Products",
            "description": "Rental Products API endpoints."
        },
        {
            "name": "Reports \u2014 Bos Amc",
            "description": "Reports \u2014 Bos Amc API endpoints."
        },
        {
            "name": "Reports \u2014 Cash Bank Book",
            "description": "Reports \u2014 Cash Bank Book API endpoints."
        },
        {
            "name": "Reports \u2014 Complain",
            "description": "Reports \u2014 Complain API endpoints."
        },
        {
            "name": "Reports \u2014 Complain Close Detail",
            "description": "Reports \u2014 Complain Close Detail API endpoints."
        },
        {
            "name": "Reports \u2014 Complain Close Summary",
            "description": "Reports \u2014 Complain Close Summary API endpoints."
        },
        {
            "name": "Reports \u2014 Complain Summary",
            "description": "Reports \u2014 Complain Summary API endpoints."
        },
        {
            "name": "Reports \u2014 Party Multiple Ledger",
            "description": "Reports \u2014 Party Multiple Ledger API endpoints."
        },
        {
            "name": "Reports \u2014 Party Single Ledger",
            "description": "Reports \u2014 Party Single Ledger API endpoints."
        },
        {
            "name": "Reports \u2014 Product Inquiry",
            "description": "Reports \u2014 Product Inquiry API endpoints."
        },
        {
            "name": "Reports \u2014 Product Ledger",
            "description": "Reports \u2014 Product Ledger API endpoints."
        },
        {
            "name": "Reports \u2014 Purchase",
            "description": "Reports \u2014 Purchase API endpoints."
        },
        {
            "name": "Reports \u2014 Purchase Detail",
            "description": "Reports \u2014 Purchase Detail API endpoints."
        },
        {
            "name": "Reports \u2014 Purchase Return",
            "description": "Reports \u2014 Purchase Return API endpoints."
        },
        {
            "name": "Reports \u2014 Purchase Summary",
            "description": "Reports \u2014 Purchase Summary API endpoints."
        },
        {
            "name": "Reports \u2014 Sales Amc",
            "description": "Reports \u2014 Sales Amc API endpoints."
        },
        {
            "name": "Reports \u2014 Sales Return",
            "description": "Reports \u2014 Sales Return API endpoints."
        },
        {
            "name": "Reports \u2014 Schedule Service",
            "description": "Reports \u2014 Schedule Service API endpoints."
        },
        {
            "name": "Reports \u2014 Stock Reports",
            "description": "Reports \u2014 Stock Reports API endpoints."
        },
        {
            "name": "Reports \u2014 Technician Locations",
            "description": "Reports \u2014 Technician Locations API endpoints."
        },
        {
            "name": "Reports \u2014 Technician Stock",
            "description": "Reports \u2014 Technician Stock API endpoints."
        },
        {
            "name": "Reports \u2014 Tracking History",
            "description": "Reports \u2014 Tracking History API endpoints."
        },
        {
            "name": "Reports \u2014 User Logs",
            "description": "Reports \u2014 User Logs API endpoints."
        },
        {
            "name": "Reports \u2014 Warranty Amc Part Cost",
            "description": "Reports \u2014 Warranty Amc Part Cost API endpoints."
        },
        {
            "name": "Stock Approvals",
            "description": "Stock Approvals API endpoints."
        },
        {
            "name": "Stock From Technicians",
            "description": "Stock From Technicians API endpoints."
        },
        {
            "name": "Stock Order Issue Types",
            "description": "Stock Order Issue Types API endpoints."
        },
        {
            "name": "Stock Order Issues",
            "description": "Stock Order Issues API endpoints."
        },
        {
            "name": "Stock Orders",
            "description": "Stock Orders API endpoints."
        },
        {
            "name": "Stocks",
            "description": "Stocks API endpoints."
        },
        {
            "name": "Subscriptions",
            "description": "Subscriptions API endpoints."
        },
        {
            "name": "Table Ids",
            "description": "Table Ids API endpoints."
        },
        {
            "name": "Tasks & Complaints",
            "description": "Tasks & Complaints API endpoints."
        },
        {
            "name": "Technician App \u2014 Bootstrap",
            "description": "Technician mobile app endpoints."
        },
        {
            "name": "Technician App \u2014 Cash Summary",
            "description": "Technician mobile app endpoints."
        },
        {
            "name": "Technician App \u2014 Home",
            "description": "Technician mobile app endpoints."
        },
        {
            "name": "Technician App \u2014 Installation Pickup Tasks",
            "description": "Technician mobile app endpoints."
        },
        {
            "name": "Technician App \u2014 Login",
            "description": "Technician mobile app endpoints."
        },
        {
            "name": "Technician App \u2014 Online Status",
            "description": "Technician mobile app endpoints."
        },
        {
            "name": "Technician App \u2014 Tracking Logs",
            "description": "Technician mobile app endpoints."
        },
        {
            "name": "Technician App \u2014 Workboard",
            "description": "Technician mobile app endpoints."
        },
        {
            "name": "Technician Notifications",
            "description": "Technician Notifications API endpoints."
        },
        {
            "name": "Technicians",
            "description": "Technicians API endpoints."
        },
        {
            "name": "Terms And Conditions",
            "description": "Terms And Conditions API endpoints."
        },
        {
            "name": "Type Masters",
            "description": "Type Masters API endpoints."
        },
        {
            "name": "Updatecomplaintregisters",
            "description": "Updatecomplaintregisters API endpoints."
        },
        {
            "name": "Updatefranchises",
            "description": "Updatefranchises API endpoints."
        },
        {
            "name": "Updateinventories",
            "description": "Updateinventories API endpoints."
        },
        {
            "name": "Updateproducts",
            "description": "Updateproducts API endpoints."
        },
        {
            "name": "Updatetechnicians",
            "description": "Updatetechnicians API endpoints."
        },
        {
            "name": "Water Quality Reports",
            "description": "Water Quality Reports API endpoints."
        }
    ],
    "paths": {
        "/api/DeletecomplaintRegisters/{id}": {
            "delete": {
                "tags": [
                    "Deletecomplaintregisters"
                ],
                "summary": "Destroy",
                "description": "DELETE /api/DeletecomplaintRegisters/{id} Default: archive (soft-delete complaint, cancel open tasks \u2014 preserves payments/images). ?preview=1 \u2014 dependency counts for UI confirmation only. ?permanent=1 \u2014 hard delete only when no tasks exist (blocked 409 otherwise).\n\n**Access:** JWT required",
                "operationId": "delete_complaintregistercontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/DeletecomplaintRegisters/{id}/dependencies": {
            "get": {
                "tags": [
                    "Deletecomplaintregisters"
                ],
                "summary": "Deletion Dependencies",
                "description": "GET /api/DeletecomplaintRegisters/{id}/dependencies\n\n**Access:** JWT required",
                "operationId": "get_complaintregistercontroller_deletiondependencies",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/Deletecustomers/{id}": {
            "delete": {
                "tags": [
                    "Customers"
                ],
                "summary": "Destroy",
                "description": "DELETE /api/Deletecustomers/{id} Default: soft-delete (archive) \u2014 does NOT CASCADE-delete complaints, tasks, AMC, payments, or invoices. Optional ?permanent=1 \u2014 hard delete ONLY when dependency report shows zero linked rows. Optional ?preview=1 \u2014 return dependency report without deleting.\n\n**Access:** JWT required",
                "operationId": "delete_customerscontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/Deletecustomers/{id}/dependencies": {
            "get": {
                "tags": [
                    "Customers"
                ],
                "summary": "Deletion Dependencies",
                "description": "GET /api/Deletecustomers/{id}/dependencies Preview linked records before delete (no data removed).\n\n**Access:** JWT required",
                "operationId": "get_customerscontroller_deletiondependencies",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/Deletefranchises/{id}": {
            "delete": {
                "tags": [
                    "Deletefranchises"
                ],
                "summary": "Destroy",
                "description": "DELETE /api/Deletefranchises/{id} Default: archive (soft-delete + deactivate) \u2014 never one-click CASCADE wipe. ?preview=1 \u2014 dependency counts for UI confirmation only. ?permanent=1 \u2014 hard delete only when all linked record counts are zero.\n\n**Access:** JWT required, admin",
                "operationId": "delete_franchisecontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/Deletefranchises/{id}/dependencies": {
            "get": {
                "tags": [
                    "Deletefranchises"
                ],
                "summary": "Deletion Dependencies",
                "description": "GET /api/Deletefranchises/{id}/dependencies\n\n**Access:** JWT required, admin",
                "operationId": "get_franchisecontroller_deletiondependencies",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/Deleteinventories/{id}": {
            "delete": {
                "tags": [
                    "Deleteinventories"
                ],
                "summary": "Destroy",
                "description": "DELETE /api/Deleteinventories/{id}\n\n**Access:** JWT required",
                "operationId": "delete_inventorycontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/Deleteproducts/{id}": {
            "delete": {
                "tags": [
                    "Deleteproducts"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_productscontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/Deletetechnicians/{id}": {
            "delete": {
                "tags": [
                    "Deletetechnicians"
                ],
                "summary": "Destroy",
                "description": "DELETE /api/Deletetechnicians/{id} \u2014 remove row if in actor scope.\n\n**Access:** JWT required",
                "operationId": "delete_techniciancontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/UpdatecomplaintRegisters/{id}": {
            "put": {
                "tags": [
                    "Updatecomplaintregisters"
                ],
                "summary": "Update complaint (incl. assign technician)",
                "description": "Admin/franchise: edit complaint fields. When `assigned_to` is sent, runs the same task assignment logic as `POST /api/tasks/assign` (creates/updates `full_functionality_tasks`, no duplicates). Response includes `task_assignment` when a technician is assigned.",
                "operationId": "put_complaintregistercontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ComplaintAssignUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Complaint updated; may include task_assignment",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "task_assignment": {
                                            "$ref": "#/components/schemas/ComplaintTaskAssignment"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Assignment blocked (device/inventory)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/Updatecustomers/{id}": {
            "put": {
                "tags": [
                    "Customers"
                ],
                "summary": "Update",
                "description": "PUT /api/Updatecustomers/{id} \u2014 franchise or admin (legacy route).\n\n**Access:** JWT required",
                "operationId": "put_customerscontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Validation: email"
                                    },
                                    "username": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50"
                                    },
                                    "address": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:2000"
                                    },
                                    "customer_type": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50"
                                    },
                                    "status": {
                                        "type": "string",
                                        "maxLength": 30,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:30"
                                    },
                                    "last_service_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "next_service_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "branch": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/Updatefranchises/{id}": {
            "put": {
                "tags": [
                    "Updatefranchises"
                ],
                "summary": "Update",
                "description": "PUT /api/Updatefranchises/{id} \u2014 legacy admin update route.\n\n**Access:** JWT required, admin",
                "operationId": "put_franchisecontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_name": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "franchise_address": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "description": "Validation: required, string, max:2000"
                                    },
                                    "franchise_city": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "description": "Validation: required, string, max:100"
                                    },
                                    "franchise_phone_number": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "franchise_phonen_number": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "mobile_number": {
                                        "type": "string"
                                    },
                                    "is_active": {
                                        "type": "boolean",
                                        "description": "Validation: boolean"
                                    },
                                    "first_name": {
                                        "type": "string"
                                    },
                                    "last_name": {
                                        "type": "string"
                                    },
                                    "owner_name": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string"
                                    },
                                    "owner_email": {
                                        "type": "string"
                                    },
                                    "login_id": {
                                        "type": "string"
                                    },
                                    "phone_number": {
                                        "type": "string"
                                    },
                                    "password": {
                                        "type": "string",
                                        "minLength": 6,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, min:6"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/Updateinventories/{id}": {
            "put": {
                "tags": [
                    "Updateinventories"
                ],
                "summary": "Update inventory quantity and unit price",
                "description": "Optional `unit_price` syncs to stocks.unit_price for the product + franchise.",
                "operationId": "put_inventorycontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/InventoryCreateRequest"
                            }
                        }
                    }
                }
            }
        },
        "/api/Updateproducts/{id}": {
            "put": {
                "tags": [
                    "Updateproducts"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_productscontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    },
                                    "description": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "price": {
                                        "type": "number",
                                        "description": "Validation: required, numeric"
                                    },
                                    "stock": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "description": "Validation: required, integer, min:0"
                                    },
                                    "is_active": {
                                        "type": "boolean",
                                        "description": "Validation: required, boolean"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/Updatetechnicians/{id}": {
            "put": {
                "tags": [
                    "Updatetechnicians"
                ],
                "summary": "Update",
                "description": "PUT /api/Updatetechnicians/{id} \u2014 partial/full update on fields you send.\n\n**Access:** JWT required",
                "operationId": "put_techniciancontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "full_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "first_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "last_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "email": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "phone_number": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: integer, exists:franchises,id"
                                    },
                                    "payment_type": {
                                        "type": "string",
                                        "enum": [
                                            "salary",
                                            "commission"
                                        ],
                                        "description": "Validation: required, in:salary,commission"
                                    },
                                    "salary": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "commission_rate": {
                                        "type": "number",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0, max:100"
                                    },
                                    "visit_charge": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    }
                                },
                                "required": [
                                    "payment_type"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/account-masters": {
            "get": {
                "tags": [
                    "Account Masters"
                ],
                "summary": "Account masters (customer/vendor picker for franchise UI)",
                "description": "Paginated list with table columns in `meta.columns`. Each row includes P0-03 profile fields (address, GST, rating, opening balance). Filter by search, account_type, city, rating.",
                "operationId": "get_accountmastercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Matches account_code, name, mobile, city, area, gst_number, id"
                    },
                    {
                        "name": "account_type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "customer",
                                "vendor"
                            ]
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Legacy alias for account_type filter"
                    },
                    {
                        "name": "city",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "rating",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "excellent",
                                "good",
                                "average",
                                "poor"
                            ]
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated account masters",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountMasterListResponse"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Account Masters"
                ],
                "summary": "Create account master",
                "description": "Omit `account_code` to auto-assign the next sequential code for the branch. Code cannot be changed via PUT.",
                "operationId": "post_accountmastercontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AccountMasterCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Account Master created successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (franchise or other non-admin role)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Customer or franchise not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/account-masters/next-code": {
            "get": {
                "tags": [
                    "Account Masters"
                ],
                "summary": "Preview next account code",
                "description": "Returns the next auto-generated `account_code` for the resolved branch. Prefix order: `franchises.account_code_prefix` \u2192 `config/account_master.php` admin override \u2192 default (`ACC`). Does not reserve the code until POST /api/account-masters.",
                "operationId": "get_accountmastercontroller_nextcode",
                "parameters": [
                    {
                        "name": "account_type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "customer",
                                "vendor",
                                "supplier"
                            ]
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "description": "Legacy alias; supplier/vendor skips franchise_id for admin next-code"
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Admin: optional branch; omit for global vendor/supplier"
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Next account code preview",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountMasterNextCodeResponse"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Franchise scope error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/account-masters/{id}": {
            "delete": {
                "tags": [
                    "Account Masters"
                ],
                "summary": "Destroy",
                "description": "DELETE /api/account-masters/{id}\n\n**Access:** JWT required",
                "operationId": "delete_accountmastercontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Account Masters"
                ],
                "summary": "Get account master by ID",
                "description": "GET /api/account-masters/{id}\n\n**Access:** JWT required",
                "operationId": "get_accountmastercontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Account master with linked customer profile",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountMaster"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Account Masters"
                ],
                "summary": "Update account master",
                "description": "PUT /api/account-masters/{id}\n\n**Access:** JWT required",
                "operationId": "put_accountmastercontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AccountMasterUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Account Master updated successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (franchise or other non-admin role)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Customer or franchise not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/activeInactiveFranchise": {
            "post": {
                "tags": [
                    "Activeinactivefranchise"
                ],
                "summary": "Active Inactive Franchise",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_franchisecontroller_activeinactivefranchise",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_id": {
                                        "type": "string",
                                        "description": "Validation: required, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "franchise_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/activeInactiveProducts": {
            "post": {
                "tags": [
                    "Activeinactiveproducts"
                ],
                "summary": "Active Inactive Product",
                "description": "**Access:** JWT required",
                "operationId": "post_productscontroller_activeinactiveproduct",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "product_id": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    }
                                },
                                "required": [
                                    "product_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/Deletetechnicians/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Deletetechnicians"
                ],
                "summary": "Destroy",
                "description": "DELETE /api/Deletetechnicians/{id} \u2014 remove row if in actor scope.\n\n**Access:** JWT required, admin",
                "operationId": "delete_techniciancontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/Updatetechnicians/{id}": {
            "put": {
                "tags": [
                    "Admin \u2014 Updatetechnicians"
                ],
                "summary": "Update",
                "description": "PUT /api/Updatetechnicians/{id} \u2014 partial/full update on fields you send.\n\n**Access:** JWT required, admin",
                "operationId": "put_techniciancontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "full_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "first_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "last_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "email": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "phone_number": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: integer, exists:franchises,id"
                                    },
                                    "payment_type": {
                                        "type": "string",
                                        "enum": [
                                            "salary",
                                            "commission"
                                        ],
                                        "description": "Validation: required, in:salary,commission"
                                    },
                                    "salary": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "commission_rate": {
                                        "type": "number",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0, max:100"
                                    },
                                    "visit_charge": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    }
                                },
                                "required": [
                                    "payment_type"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/account-master": {
            "get": {
                "tags": [
                    "Admin \u2014 Account Master"
                ],
                "summary": "Index",
                "description": "GET /api/account-masters\n\n**Access:** JWT required, admin",
                "operationId": "get_accountmastercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/account-master/{id}": {
            "get": {
                "tags": [
                    "Admin \u2014 Account Master"
                ],
                "summary": "Show",
                "description": "GET /api/account-masters/{id}\n\n**Access:** JWT required, admin",
                "operationId": "get_accountmastercontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/account-masters": {
            "get": {
                "tags": [
                    "Admin \u2014 Account Masters"
                ],
                "summary": "Account masters (admin)",
                "description": "Same list/filters as franchise route, scoped to the admin network. Optional `franchise_id` filter.",
                "operationId": "get_accountmastercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "account_type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "customer",
                                "vendor"
                            ]
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "city",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "rating",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "excellent",
                                "good",
                                "average",
                                "poor"
                            ]
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated account masters",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountMasterListResponse"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Admin \u2014 Account Masters"
                ],
                "summary": "Create account master (admin)",
                "description": "Omit `account_code` to auto-assign. Same body rules as franchise create.",
                "operationId": "post_accountmastercontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AccountMasterCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Account Master created successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (franchise or other non-admin role)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Customer or franchise not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/account-masters/next-code": {
            "get": {
                "tags": [
                    "Admin \u2014 Account Masters"
                ],
                "summary": "Preview next account code (admin)",
                "description": "Same as franchise preview; optional `franchise_id` selects the branch.",
                "operationId": "get_accountmastercontroller_nextcode",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Next account code preview",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountMasterNextCodeResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/account-masters/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Account Masters"
                ],
                "summary": "Delete account master (admin)",
                "description": "DELETE /api/account-masters/{id}\n\n**Access:** JWT required, admin",
                "operationId": "delete_accountmastercontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Account Master deleted successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (franchise or other non-admin role)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Customer or franchise not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "Admin \u2014 Account Masters"
                ],
                "summary": "Get account master by ID (admin)",
                "description": "GET /api/account-masters/{id}\n\n**Access:** JWT required, admin",
                "operationId": "get_accountmastercontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Account master with linked customer profile",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountMaster"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Admin \u2014 Account Masters"
                ],
                "summary": "Update account master (admin)",
                "description": "PUT /api/account-masters/{id}\n\n**Access:** JWT required, admin",
                "operationId": "put_accountmastercontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AccountMasterUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Account Master updated successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (franchise or other non-admin role)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Customer or franchise not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/amc-plans": {
            "get": {
                "tags": [
                    "Admin \u2014 Amc Plans"
                ],
                "summary": "Admin Index",
                "description": "GET /api/admin/amc-plans \u2014 catalog + purchased plans for super admin network.\n\n**Access:** JWT required, admin",
                "operationId": "get_amcplancontroller_adminindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin \u2014 Amc Plans"
                ],
                "summary": "Admin Store",
                "description": "Alias for admin panel \u2014 same as store().\n\n**Access:** JWT required, admin",
                "operationId": "post_amcplancontroller_adminstore",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AmcPlanWriteRequest"
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/amc-plans/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Amc Plans"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_amcplancontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin \u2014 Amc Plans"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_amcplancontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AmcPlanWriteRequest"
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/amc-subscriptions": {
            "get": {
                "tags": [
                    "Admin \u2014 Amc Subscriptions"
                ],
                "summary": "Franchise Index",
                "description": "GET /api/franchise/amc-subscriptions \u2014 customer AMC purchases visible to franchise admin.\n\n**Access:** JWT required, admin",
                "operationId": "get_productamcsubscriptioncontroller_franchiseindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/amc/upcoming-services": {
            "get": {
                "tags": [
                    "Admin \u2014 Amc"
                ],
                "summary": "Upcoming AMC services table (admin)",
                "description": "Paginated list of AMC service due dates across the admin franchise network. Merges `product_amc_subscriptions` (COALESCE next_service_due_date, customers.next_service_date), customer `next_service_date` fallbacks, and scheduled AMC complaints. Status: `due`, `overdue`, `scheduled`, `completed`. Each row includes optional action hints to create or schedule a complaint.",
                "operationId": "get_productamcsubscriptioncontroller_adminupcomingservices",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Due date window start (default: today - 30 days)"
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Due date window end (default: today + 90 days)"
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "due",
                                "overdue",
                                "scheduled",
                                "completed"
                            ]
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 20
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated upcoming AMC services",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdminUpcomingAmcServicesList"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Invalid date range",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/bill-of-supplies": {
            "get": {
                "tags": [
                    "Admin \u2014 Bill Of Supplies"
                ],
                "summary": "List bill of supply vouchers (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_billofsupplycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Voucher id/type, customer name, account name/code/phone"
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "paid",
                                "pending",
                                "overdue"
                            ]
                        },
                        "description": "overdue = pending vouchers with date < today"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "overdue",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        },
                        "description": "When 1: pending vouchers with date < today"
                    },
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "account_master_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Bill of supply vouchers",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/BillOfSupplyItem"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Admin \u2014 Bill Of Supplies"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_billofsupplycontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "voucher_id": {
                                        "type": "string",
                                        "description": "Validation: required, string, unique:bill_of_supplies,voucher_id"
                                    },
                                    "type": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    },
                                    "amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "description": "Validation: required, numeric, min:0"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "paid",
                                            "pending",
                                            "overdue"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Validation: required, date"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "voucher_id",
                                    "type",
                                    "amount",
                                    "date",
                                    "franchise_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/bill-of-supplies/export": {
            "get": {
                "tags": [
                    "Admin \u2014 Bill Of Supplies"
                ],
                "summary": "Export bill of supply vouchers (admin)",
                "description": "Excel download (`format=xlsx`) using the same filters as the admin voucher list. Large result sets are streamed from the database.",
                "operationId": "get_billofsupplycontroller_adminexport",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "paid",
                                "pending",
                                "overdue"
                            ]
                        },
                        "description": "overdue = pending vouchers with date < today"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "overdue",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "account_master_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "xlsx"
                            ]
                        },
                        "description": "Export file type. Returns `Content-Disposition: attachment` with a timestamped filename."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "File download (filtered export)",
                        "content": {
                            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        },
                        "headers": {
                            "Content-Disposition": {
                                "description": "attachment; filename=\"<module>-YYYYMMDD-HHMMSS.<format>\"",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Invalid format or filter value",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/bill-of-supplies/summary": {
            "get": {
                "tags": [
                    "Admin \u2014 Bill Of Supplies"
                ],
                "summary": "Bill of supply summary cards (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_billofsupplycontroller_summary",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "overdue",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "account_master_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Summary totals",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BillOfSupplySummary"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/bill-of-supplies/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Bill Of Supplies"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_billofsupplycontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Admin \u2014 Bill Of Supplies"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_billofsupplycontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin \u2014 Bill Of Supplies"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_billofsupplycontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "voucher_id": {
                                        "type": "string",
                                        "description": "Validation: required, string, unique:bill_of_supplies,voucher_id,"
                                    },
                                    "type": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    },
                                    "amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "description": "Validation: required, numeric, min:0"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "paid",
                                            "pending",
                                            "overdue"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Validation: required, date"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/complaintRegisters/export": {
            "get": {
                "tags": [
                    "Admin \u2014 Complaintregisters"
                ],
                "summary": "Export complaint registers (admin)",
                "description": "Downloads filtered complaints as Excel (`format=xlsx`), printable PDF (`format=pdf`), or browser HTML table (`format=html`). Accepts the same query filters as `GET /api/getAllcomplaintRegisters` (pagination params are ignored).",
                "operationId": "get_complaintregistercontroller_export",
                "parameters": [
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "complaint_type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "dashboard_bucket",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "open",
                                "in_progress",
                                "assigned",
                                "resolved",
                                "awaiting_parts"
                            ]
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "xlsx",
                                "pdf",
                                "html"
                            ]
                        },
                        "description": "Export file type. Returns `Content-Disposition: attachment` with a timestamped filename."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "File download (filtered export)",
                        "content": {
                            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            },
                            "application/pdf": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            },
                            "text/html": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "headers": {
                            "Content-Disposition": {
                                "description": "attachment; filename=\"<module>-YYYYMMDD-HHMMSS.<format>\"",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Invalid format or filter value",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/complaintRegisters/{id}/print": {
            "get": {
                "tags": [
                    "Admin \u2014 Complaintregisters"
                ],
                "summary": "Print single complaint work order (admin)",
                "description": "Printable HTML (`format=html`, use browser Print) or PDF download (`format=pdf`, default). Includes customer, device, technician, and complaint details.",
                "operationId": "get_complaintregistercontroller_print",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "html",
                                "pdf"
                            ],
                            "default": "pdf"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Printable invoice document",
                        "content": {
                            "application/pdf": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            },
                            "text/html": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Invalid format",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/complaints/dashboard/summary": {
            "get": {
                "tags": [
                    "Admin \u2014 Complaints"
                ],
                "summary": "Complaint dashboard card counts (admin or franchise)",
                "description": "Returns total, open, in_progress, resolved, and awaiting_parts for complaints in scope. Admin: all franchises in network (optional `franchise_id` narrows to one branch). Franchise: own linked branch only. Response includes `meta` documenting status \u2192 bucket mapping.",
                "operationId": "get_complaintregistercontroller_admindashboardsummary",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Complaint dashboard counts",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ComplaintDashboardSummary"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (wrong role or invalid franchise_id for this login)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/createFranchiseSmsTemplate": {
            "post": {
                "tags": [
                    "Admin \u2014 Createfranchisesmstemplate"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_franchisesmstemplatecontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    },
                                    "template_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "message_content": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 1000,
                                        "description": "Validation: required, string, min:1, max:1000"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "automated",
                                            "transactional",
                                            "promotional"
                                        ],
                                        "description": "Validation: required"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "active",
                                            "inactive"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "sent_count": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    }
                                },
                                "required": [
                                    "template_name",
                                    "message_content",
                                    "type"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/customer": {
            "get": {
                "tags": [
                    "Admin \u2014 Customer"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_customerscontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/customer-products": {
            "get": {
                "tags": [
                    "Admin \u2014 Customer Products"
                ],
                "summary": "Index",
                "description": "GET /api/franchise/customer-products?customer_id=\n\n**Access:** JWT required",
                "operationId": "get_customerproductcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin \u2014 Customer Products"
                ],
                "summary": "Store",
                "description": "POST /api/franchise/customer-products \u2014 franchise registers product for customer.\n\n**Access:** JWT required",
                "operationId": "post_customerproductcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/customer/{id}": {
            "get": {
                "tags": [
                    "Admin \u2014 Customer"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_customerscontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/customers": {
            "get": {
                "tags": [
                    "Admin \u2014 Customers"
                ],
                "summary": "List customers (admin)",
                "description": "All customers under franchises owned by this admin. Supports search and AMC/service filters.",
                "operationId": "get_customerscontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "maxLength": 200
                        },
                        "description": "Matches first name, last name, full name, phone, or city"
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "active",
                                "pending"
                            ]
                        }
                    },
                    {
                        "name": "amc_status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "has_amc",
                                "no_amc"
                            ]
                        },
                        "description": "Active product_amc_subscription required for has_amc"
                    },
                    {
                        "name": "service_due_within_months",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                3,
                                6
                            ]
                        },
                        "description": "customers.next_service_date <= today + N months (includes overdue)"
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Optional branch scope within the caller network"
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Customers with applied filters in meta.filters",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Customer"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Admin \u2014 Customers"
                ],
                "summary": "Create customer (admin)",
                "description": "Admin creates a customer under any franchise in their network. **`franchise_id` is required.** Omit `account_code` for auto-generation. Franchise JWT receives **403**.",
                "operationId": "post_customerscontroller_adminstore",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AdminCustomerCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Customer created successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (franchise or other non-admin role)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Customer or franchise not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/customers/next-code": {
            "get": {
                "tags": [
                    "Admin \u2014 Customers"
                ],
                "summary": "Preview next customer account code (admin)",
                "description": "Returns the next auto-generated `account_code` for the given branch. **`franchise_id` is required.** Prefix: franchise override \u2192 admin config \u2192 default (`ACC`). Shared sequence with account masters.",
                "operationId": "get_customerscontroller_nextcode",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Next account code preview",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountMasterNextCodeResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Missing franchise_id",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/customers/search": {
            "get": {
                "tags": [
                    "Admin \u2014 Customers"
                ],
                "summary": "Customer typeahead search (admin / franchise)",
                "description": "Fast dropdown search across `customers` and `account_masters` scoped to the caller's franchise network. Admin may pass `franchise_id`; franchise is limited to their branch. Minimum 1 character in `q`. Active customers only by default. Each match includes structured address and registered devices.",
                "operationId": "get_customerscontroller_adminsearch",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "minLength": 1
                        },
                        "example": "Rahul"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 50,
                            "default": 20
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "active_only",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": true
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Typeahead matches",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "q": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/CustomerTypeaheadResult"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error (missing q)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/customers/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Customers"
                ],
                "summary": "Archive customer (admin soft-delete)",
                "description": "Soft-deletes by default (preserves complaints, tasks, AMC, payments). Use `?permanent=1` only when no linked records. `?preview=1` shows dependencies. Franchise JWT receives **403**.",
                "operationId": "delete_customerscontroller_admindestroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "preview",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "permanent",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Customer archived (soft-deleted)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (franchise or other non-admin role)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Customer or franchise not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "Admin \u2014 Customers"
                ],
                "summary": "Get customer by ID (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_customerscontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Customer record",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Customer"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Admin \u2014 Customers"
                ],
                "summary": "Update customer (admin)",
                "description": "Update any customer under franchises owned by this admin. `account_code` cannot be changed. Franchise JWT receives **403**.",
                "operationId": "put_customerscontroller_adminupdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CustomerUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Customer updated successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (franchise or other non-admin role)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Customer or franchise not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/customers/{id}/prefill": {
            "get": {
                "tags": [
                    "Admin \u2014 Customers"
                ],
                "summary": "Customer complaint form prefill (admin)",
                "description": "Returns structured address, linked account master, and active registered products for new-complaint auto-fill.",
                "operationId": "get_customerscontroller_adminprefill",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Prefill payload",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CustomerPrefillResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Customer not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/alerts": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Live dashboard alerts (admin)",
                "description": "Actionable critical items: pending stock approvals, low/out-of-stock inventory, unassigned high-priority complaints, AMC expiring within 7 days, tasks assigned but still pending after 12 hours. Scoped to admin franchise network.",
                "operationId": "get_admindashboardcontroller_alerts",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "as_of",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "limit_per_type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 50,
                            "default": 25
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Dashboard alerts",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdminDashboardAlertsSummary"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/amc-risk": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "AMC risk today / 7-day window (admin)",
                "description": "Counts and top at-risk AMC rows for dashboard card and list. Primary source: `product_amc_subscriptions`; fallbacks: latest `amc_plans` expiry, `customers.next_service_date`.",
                "operationId": "get_admindashboardcontroller_amcrisk",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "as_of",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 50,
                            "default": 10
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "AMC risk summary",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdminAmcRiskSummary"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/expiring-amc": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Expiring AMC list (admin dashboard)",
                "description": "Paginated scrollable at-risk AMC list sorted by `expiry_date` ascending. Includes overdue items (`is_overdue: true`) and subscriptions/plans due within `days` of `as_of`. Shares query logic with `GET /api/admin/dashboard/amc-risk`.",
                "operationId": "get_admindashboardcontroller_expiringamc",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "as_of",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Reference date (default today)"
                    },
                    {
                        "name": "days",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 365,
                            "default": 30
                        },
                        "description": "Include AMCs with risk date <= as_of + days"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 20
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated expiring AMC list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdminExpiringAmcList"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/franchise-orders/latest": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Latest franchise orders (admin feed)",
                "description": "All admin dashboard GET endpoints accept optional **`franchise_id`** (branch dropdown).\n\n**Scope rules**\n- **Omitted** \u2014 aggregate across every franchise in the admin network (`franchises.admin_id` = logged-in admin; HQ-linked rows via `franchises.user_id` included).\n- **Valid ID in network** \u2014 narrow metrics to that branch only.\n- **ID outside network** \u2014 **403** `\"The selected franchise is not available for the logged-in user\"`.\n\nResponses echo resolved scope as `meta.franchise_ids` + `meta.franchise_id_filter`, or inside `filters` on statistics/chart payloads. Chart endpoints may also return `franchises[]` for the dropdown.\n\n**Covered paths:** alerts, recent-activities, amc-risk, expiring-amc, receivables, network-revenue, revenue-by-franchise, monthly-statistics, top-services, top-franchises, top-statistics-report, service-frequency, technician-performance, monthly-orders-by-branch, service-amc-calendar, inventory-insights, top-selling-products, franchise-orders/latest.\n\nImplementation: `FranchiseResolver::dashboardFranchiseIds()` via `ResolvesDashboardFranchiseScope` trait.\n\nMost recent stock/franchise orders in the resolved scope.",
                "operationId": "get_franchiseordercontroller_dashboardlatest",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Optional branch filter. Omit for full network; must belong to admin network or 403. See Admin \u2014 Dashboard tag description."
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 50,
                            "default": 5
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Latest franchise orders",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": true
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (non-admin or franchise_id outside network)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/inventory-insights": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Inventory insights \u2014 fast / slow movers (admin)",
                "description": "All admin dashboard GET endpoints accept optional **`franchise_id`** (branch dropdown).\n\n**Scope rules**\n- **Omitted** \u2014 aggregate across every franchise in the admin network (`franchises.admin_id` = logged-in admin; HQ-linked rows via `franchises.user_id` included).\n- **Valid ID in network** \u2014 narrow metrics to that branch only.\n- **ID outside network** \u2014 **403** `\"The selected franchise is not available for the logged-in user\"`.\n\nResponses echo resolved scope as `meta.franchise_ids` + `meta.franchise_id_filter`, or inside `filters` on statistics/chart payloads. Chart endpoints may also return `franchises[]` for the dropdown.\n\n**Covered paths:** alerts, recent-activities, amc-risk, expiring-amc, receivables, network-revenue, revenue-by-franchise, monthly-statistics, top-services, top-franchises, top-statistics-report, service-frequency, technician-performance, monthly-orders-by-branch, service-amc-calendar, inventory-insights, top-selling-products, franchise-orders/latest.\n\nImplementation: `FranchiseResolver::dashboardFranchiseIds()` via `ResolvesDashboardFranchiseScope` trait.\n\nFast and slow moving products by completed task count per product. Default window: current month. Date on tasks: `full_functionality_tasks.updated_at`.",
                "operationId": "get_inventorycontroller_dashboardinventoryinsights",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Optional branch filter. Omit for full network; must belong to admin network or 403. See Admin \u2014 Dashboard tag description."
                    },
                    {
                        "name": "period",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "7d",
                                "30d",
                                "month",
                                "all"
                            ],
                            "default": "month"
                        },
                        "description": "Relative window. Ignored when `from` or `to` is set (period becomes `custom`)."
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Custom range start (Y-m-d). Overrides `period` when set."
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Custom range end (Y-m-d). Defaults to today when only `from` is set."
                    },
                    {
                        "name": "fast_limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 10,
                            "default": 2
                        }
                    },
                    {
                        "name": "slow_limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 10,
                            "default": 2
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Fast and slow moving products",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdminInventoryInsightsSummary"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/monthly-orders-by-branch": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Monthly orders stacked by branch (admin)",
                "description": "All admin dashboard GET endpoints accept optional **`franchise_id`** (branch dropdown).\n\n**Scope rules**\n- **Omitted** \u2014 aggregate across every franchise in the admin network (`franchises.admin_id` = logged-in admin; HQ-linked rows via `franchises.user_id` included).\n- **Valid ID in network** \u2014 narrow metrics to that branch only.\n- **ID outside network** \u2014 **403** `\"The selected franchise is not available for the logged-in user\"`.\n\nResponses echo resolved scope as `meta.franchise_ids` + `meta.franchise_id_filter`, or inside `filters` on statistics/chart payloads. Chart endpoints may also return `franchises[]` for the dropdown.\n\n**Covered paths:** alerts, recent-activities, amc-risk, expiring-amc, receivables, network-revenue, revenue-by-franchise, monthly-statistics, top-services, top-franchises, top-statistics-report, service-frequency, technician-performance, monthly-orders-by-branch, service-amc-calendar, inventory-insights, top-selling-products, franchise-orders/latest.\n\nImplementation: `FranchiseResolver::dashboardFranchiseIds()` via `ResolvesDashboardFranchiseScope` trait.\n\nStacked `franchise_orders` counts per month per branch.",
                "operationId": "get_monthlyordersbybranchcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Optional branch filter. Omit for full network; must belong to admin network or 403. See Admin \u2014 Dashboard tag description."
                    },
                    {
                        "name": "months",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 36,
                            "default": 6
                        }
                    },
                    {
                        "name": "end_month",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "pattern": "^\\d{4}-\\d{2}$"
                        },
                        "description": "Last month in range (Y-m)"
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "pending",
                                "approved",
                                "rejected"
                            ]
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monthly orders by branch",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": true
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (non-admin or franchise_id outside network)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/monthly-statistics": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Top services & franchises (dashboard cards)",
                "description": "Ranked top services (completed tasks by product) and top franchises (payment revenue). Defaults to current month. Legacy fields `top_service` / `top_franchise` mirror rank #1.",
                "operationId": "get_franchisecontroller_monthlystatistics",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "period",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "7d",
                                "30d",
                                "month",
                                "all"
                            ],
                            "default": "month"
                        },
                        "description": "Relative window. Ignored when `from` or `to` is set (period becomes `custom`)."
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Custom range start (Y-m-d). Overrides `period` when set."
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Custom range end (Y-m-d). Defaults to today when only `from` is set."
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 10
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Optional branch filter. Omit for full network; must belong to admin network or 403. See Admin \u2014 Dashboard tag description."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Monthly / period statistics",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdminMonthlyStatisticsSummary"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/network-revenue": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Network / branch revenue total (admin or franchise)",
                "description": "All admin dashboard GET endpoints accept optional **`franchise_id`** (branch dropdown).\n\n**Scope rules**\n- **Omitted** \u2014 aggregate across every franchise in the admin network (`franchises.admin_id` = logged-in admin; HQ-linked rows via `franchises.user_id` included).\n- **Valid ID in network** \u2014 narrow metrics to that branch only.\n- **ID outside network** \u2014 **403** `\"The selected franchise is not available for the logged-in user\"`.\n\nResponses echo resolved scope as `meta.franchise_ids` + `meta.franchise_id_filter`, or inside `filters` on statistics/chart payloads. Chart endpoints may also return `franchises[]` for the dropdown.\n\n**Covered paths:** alerts, recent-activities, amc-risk, expiring-amc, receivables, network-revenue, revenue-by-franchise, monthly-statistics, top-services, top-franchises, top-statistics-report, service-frequency, technician-performance, monthly-orders-by-branch, service-amc-calendar, inventory-insights, top-selling-products, franchise-orders/latest.\n\nImplementation: `FranchiseResolver::dashboardFranchiseIds()` via `ResolvesDashboardFranchiseScope` trait.\n\nSum of `payments.amount` for the resolved franchise scope. Admin: all network branches. Franchise: own branch only. Optional `from`/`to` filter on `payments.payment_date`.",
                "operationId": "get_franchisecontroller_dashboardnetworkrevenue",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Optional branch filter. Omit for full network; must belong to admin network or 403. See Admin \u2014 Dashboard tag description."
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Network revenue total",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": true
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (non-admin or franchise_id outside network)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/receivables": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Total receivables (admin network)",
                "description": "Sums unpaid `tax_invoices.total_amount` across admin franchises where status is not `draft` or `paid` (same rule as franchise dashboard `receivable`).",
                "operationId": "get_admindashboardcontroller_receivables",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "as_of",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Include invoices with date <= as_of"
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Include invoices with date >= from"
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Network receivables total",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdminReceivablesSummary"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (non-admin or invalid franchise_id)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/recent-activities": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Recent dashboard activities (admin)",
                "description": "Unified activity stream: stock requests, high-priority complaints, AMC renewals, technician online / task-completion proxy. Sorted `created_at` desc.",
                "operationId": "get_admindashboardcontroller_recentactivities",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 20
                        }
                    },
                    {
                        "name": "lookback_days",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 90,
                            "default": 30
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Recent activities",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdminDashboardActivitiesSummary"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/revenue-by-franchise": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Revenue & complaints by franchise (admin chart)",
                "description": "All admin dashboard GET endpoints accept optional **`franchise_id`** (branch dropdown).\n\n**Scope rules**\n- **Omitted** \u2014 aggregate across every franchise in the admin network (`franchises.admin_id` = logged-in admin; HQ-linked rows via `franchises.user_id` included).\n- **Valid ID in network** \u2014 narrow metrics to that branch only.\n- **ID outside network** \u2014 **403** `\"The selected franchise is not available for the logged-in user\"`.\n\nResponses echo resolved scope as `meta.franchise_ids` + `meta.franchise_id_filter`, or inside `filters` on statistics/chart payloads. Chart endpoints may also return `franchises[]` for the dropdown.\n\n**Covered paths:** alerts, recent-activities, amc-risk, expiring-amc, receivables, network-revenue, revenue-by-franchise, monthly-statistics, top-services, top-franchises, top-statistics-report, service-frequency, technician-performance, monthly-orders-by-branch, service-amc-calendar, inventory-insights, top-selling-products, franchise-orders/latest.\n\nImplementation: `FranchiseResolver::dashboardFranchiseIds()` via `ResolvesDashboardFranchiseScope` trait.\n\nPer-branch revenue (`payments.amount`) and complaint counts. Optional `from`/`to` filter payment and complaint dates.",
                "operationId": "get_franchisecontroller_revenuebyfranchise",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Optional branch filter. Omit for full network; must belong to admin network or 403. See Admin \u2014 Dashboard tag description."
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Revenue by franchise chart",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": true
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (non-admin or franchise_id outside network)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/service-amc-calendar": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Service & AMC calendar (admin)",
                "description": "All admin dashboard GET endpoints accept optional **`franchise_id`** (branch dropdown).\n\n**Scope rules**\n- **Omitted** \u2014 aggregate across every franchise in the admin network (`franchises.admin_id` = logged-in admin; HQ-linked rows via `franchises.user_id` included).\n- **Valid ID in network** \u2014 narrow metrics to that branch only.\n- **ID outside network** \u2014 **403** `\"The selected franchise is not available for the logged-in user\"`.\n\nResponses echo resolved scope as `meta.franchise_ids` + `meta.franchise_id_filter`, or inside `filters` on statistics/chart payloads. Chart endpoints may also return `franchises[]` for the dropdown.\n\n**Covered paths:** alerts, recent-activities, amc-risk, expiring-amc, receivables, network-revenue, revenue-by-franchise, monthly-statistics, top-services, top-franchises, top-statistics-report, service-frequency, technician-performance, monthly-orders-by-branch, service-amc-calendar, inventory-insights, top-selling-products, franchise-orders/latest.\n\nImplementation: `FranchiseResolver::dashboardFranchiseIds()` via `ResolvesDashboardFranchiseScope` trait.\n\nMonthly calendar markers for scheduled services and AMC dates. Optional `date` (Y-m-d) returns day detail lists.",
                "operationId": "get_serviceamccalendarcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Optional branch filter. Omit for full network; must belong to admin network or 403. See Admin \u2014 Dashboard tag description."
                    },
                    {
                        "name": "year",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "month",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 12
                        }
                    },
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Service & AMC calendar",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": true
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (non-admin or franchise_id outside network)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/service-frequency": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Service frequency stacked chart (admin)",
                "description": "All admin dashboard GET endpoints accept optional **`franchise_id`** (branch dropdown).\n\n**Scope rules**\n- **Omitted** \u2014 aggregate across every franchise in the admin network (`franchises.admin_id` = logged-in admin; HQ-linked rows via `franchises.user_id` included).\n- **Valid ID in network** \u2014 narrow metrics to that branch only.\n- **ID outside network** \u2014 **403** `\"The selected franchise is not available for the logged-in user\"`.\n\nResponses echo resolved scope as `meta.franchise_ids` + `meta.franchise_id_filter`, or inside `filters` on statistics/chart payloads. Chart endpoints may also return `franchises[]` for the dropdown.\n\n**Covered paths:** alerts, recent-activities, amc-risk, expiring-amc, receivables, network-revenue, revenue-by-franchise, monthly-statistics, top-services, top-franchises, top-statistics-report, service-frequency, technician-performance, monthly-orders-by-branch, service-amc-calendar, inventory-insights, top-selling-products, franchise-orders/latest.\n\nImplementation: `FranchiseResolver::dashboardFranchiseIds()` via `ResolvesDashboardFranchiseScope` trait.\n\nMachine counts by service interval bucket, split routine / repair / filter.",
                "operationId": "get_servicefrequencycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Optional branch filter. Omit for full network; must belong to admin network or 403. See Admin \u2014 Dashboard tag description."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Service frequency chart",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": true
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (non-admin or franchise_id outside network)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/technician-performance": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Technician performance table (admin)",
                "description": "All admin dashboard GET endpoints accept optional **`franchise_id`** (branch dropdown).\n\n**Scope rules**\n- **Omitted** \u2014 aggregate across every franchise in the admin network (`franchises.admin_id` = logged-in admin; HQ-linked rows via `franchises.user_id` included).\n- **Valid ID in network** \u2014 narrow metrics to that branch only.\n- **ID outside network** \u2014 **403** `\"The selected franchise is not available for the logged-in user\"`.\n\nResponses echo resolved scope as `meta.franchise_ids` + `meta.franchise_id_filter`, or inside `filters` on statistics/chart payloads. Chart endpoints may also return `franchises[]` for the dropdown.\n\n**Covered paths:** alerts, recent-activities, amc-risk, expiring-amc, receivables, network-revenue, revenue-by-franchise, monthly-statistics, top-services, top-franchises, top-statistics-report, service-frequency, technician-performance, monthly-orders-by-branch, service-amc-calendar, inventory-insights, top-selling-products, franchise-orders/latest.\n\nImplementation: `FranchiseResolver::dashboardFranchiseIds()` via `ResolvesDashboardFranchiseScope` trait.\n\nPaginated technicians with efficiency (completed/total tasks in period) and average rating.",
                "operationId": "get_technicianperformancecontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Optional branch filter. Omit for full network; must belong to admin network or 403. See Admin \u2014 Dashboard tag description."
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 20
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Technician performance list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "additionalProperties": true
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (non-admin or franchise_id outside network)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/top-franchises": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Ranked top franchises by revenue (admin)",
                "description": "Franchises ranked by sum of `payments.amount` where `payment_date` falls in the selected period.",
                "operationId": "get_franchisecontroller_topfranchises",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "period",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "7d",
                                "30d",
                                "month",
                                "all"
                            ],
                            "default": "month"
                        },
                        "description": "Relative window. Ignored when `from` or `to` is set (period becomes `custom`)."
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Custom range start (Y-m-d). Overrides `period` when set."
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Custom range end (Y-m-d). Defaults to today when only `from` is set."
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 10
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Optional branch filter. Omit for full network; must belong to admin network or 403. See Admin \u2014 Dashboard tag description."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Top franchises list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdminTopFranchisesSummary"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/top-selling-products": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Top selling products by revenue (admin)",
                "description": "All admin dashboard GET endpoints accept optional **`franchise_id`** (branch dropdown).\n\n**Scope rules**\n- **Omitted** \u2014 aggregate across every franchise in the admin network (`franchises.admin_id` = logged-in admin; HQ-linked rows via `franchises.user_id` included).\n- **Valid ID in network** \u2014 narrow metrics to that branch only.\n- **ID outside network** \u2014 **403** `\"The selected franchise is not available for the logged-in user\"`.\n\nResponses echo resolved scope as `meta.franchise_ids` + `meta.franchise_id_filter`, or inside `filters` on statistics/chart payloads. Chart endpoints may also return `franchises[]` for the dropdown.\n\n**Covered paths:** alerts, recent-activities, amc-risk, expiring-amc, receivables, network-revenue, revenue-by-franchise, monthly-statistics, top-services, top-franchises, top-statistics-report, service-frequency, technician-performance, monthly-orders-by-branch, service-amc-calendar, inventory-insights, top-selling-products, franchise-orders/latest.\n\nImplementation: `FranchiseResolver::dashboardFranchiseIds()` via `ResolvesDashboardFranchiseScope` trait.\n\nProducts ranked by payment revenue via task linkage. Default window: current month. Date on sales: `payments.payment_date`.",
                "operationId": "get_inventorycontroller_dashboardtopsellingproducts",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Optional branch filter. Omit for full network; must belong to admin network or 403. See Admin \u2014 Dashboard tag description."
                    },
                    {
                        "name": "period",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "7d",
                                "30d",
                                "month",
                                "all"
                            ],
                            "default": "month"
                        },
                        "description": "Relative window. Ignored when `from` or `to` is set (period becomes `custom`)."
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Custom range start (Y-m-d). Overrides `period` when set."
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Custom range end (Y-m-d). Defaults to today when only `from` is set."
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 20,
                            "default": 5
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Top selling products",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdminTopSellingProductsSummary"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/top-services": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Ranked top services (admin)",
                "description": "Services ranked by count of COMPLETED `full_functionality_tasks` in the period, grouped by product name.",
                "operationId": "get_franchisecontroller_topservices",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "period",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "7d",
                                "30d",
                                "month",
                                "all"
                            ],
                            "default": "month"
                        },
                        "description": "Relative window. Ignored when `from` or `to` is set (period becomes `custom`)."
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Custom range start (Y-m-d). Overrides `period` when set."
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Custom range end (Y-m-d). Defaults to today when only `from` is set."
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 10
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Optional branch filter. Omit for full network; must belong to admin network or 403. See Admin \u2014 Dashboard tag description."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Top services list",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdminTopServicesSummary"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/dashboard/top-statistics-report": {
            "get": {
                "tags": [
                    "Admin \u2014 Dashboard"
                ],
                "summary": "Full top services & franchises report (admin)",
                "description": "Combined export-style report: both ranked lists plus period totals (`completed_tasks`, `network_revenue`). Default limit 50.",
                "operationId": "get_franchisecontroller_topstatisticsreport",
                "parameters": [
                    {
                        "name": "period",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "7d",
                                "30d",
                                "month",
                                "all"
                            ],
                            "default": "month"
                        },
                        "description": "Relative window. Ignored when `from` or `to` is set (period becomes `custom`)."
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Custom range start (Y-m-d). Overrides `period` when set."
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Custom range end (Y-m-d). Defaults to today when only `from` is set."
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100,
                            "default": 50
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Optional branch filter. Omit for full network; must belong to admin network or 403. See Admin \u2014 Dashboard tag description."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Full statistics report",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdminTopStatisticsReport"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/date-wise-collections": {
            "get": {
                "tags": [
                    "Admin \u2014 Date Wise Collections"
                ],
                "summary": "Index",
                "description": "Franchise-only report list with filters + totals. Filters: from, to, complaint_status, technician_id, search.\n\n**Access:** JWT required, admin",
                "operationId": "get_datewisecollectioncontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/date-wise-collections/{id}": {
            "get": {
                "tags": [
                    "Admin \u2014 Date Wise Collections"
                ],
                "summary": "Show",
                "description": "Franchise-only show one record (only own franchise).\n\n**Access:** JWT required, admin",
                "operationId": "get_datewisecollectioncontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/deliveredInventoryRequest/{id}": {
            "put": {
                "tags": [
                    "Admin \u2014 Deliveredinventoryrequest"
                ],
                "summary": "Delivered Inventory Request",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_inventorycontroller_deliveredinventoryrequest",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "delivered"
                                        ],
                                        "description": "Validation: required, in:delivered"
                                    }
                                },
                                "required": [
                                    "status"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/franchise-amc-status": {
            "get": {
                "tags": [
                    "Admin \u2014 Franchise Amc Status"
                ],
                "summary": "Admin Franchise Amc Status",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_amcplancontroller_adminfranchiseamcstatus",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/franchise-sms-templates": {
            "get": {
                "tags": [
                    "Admin \u2014 Franchise Sms Templates"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_franchisesmstemplatecontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin \u2014 Franchise Sms Templates"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_franchisesmstemplatecontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    },
                                    "template_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "message_content": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 1000,
                                        "description": "Validation: required, string, min:1, max:1000"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "automated",
                                            "transactional",
                                            "promotional"
                                        ],
                                        "description": "Validation: required"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "active",
                                            "inactive"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "sent_count": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    }
                                },
                                "required": [
                                    "template_name",
                                    "message_content",
                                    "type"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/franchise-sms-templates/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Franchise Sms Templates"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_franchisesmstemplatecontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Admin \u2014 Franchise Sms Templates"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_franchisesmstemplatecontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin \u2014 Franchise Sms Templates"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_franchisesmstemplatecontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    },
                                    "template_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "message_content": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 1000,
                                        "description": "Validation: required, string, min:1, max:1000"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "automated",
                                            "transactional",
                                            "promotional"
                                        ],
                                        "description": "Validation: required"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "active",
                                            "inactive"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "sent_count": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/franchise-sms/logs": {
            "get": {
                "tags": [
                    "Admin \u2014 Franchise Sms"
                ],
                "summary": "Logs",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_franchisesmscontroller_logs",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/franchise-sms/recipient-types": {
            "get": {
                "tags": [
                    "Admin \u2014 Franchise Sms"
                ],
                "summary": "Recipient Types",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_franchisesmscontroller_recipienttypes",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/franchise-sms/recipients": {
            "get": {
                "tags": [
                    "Admin \u2014 Franchise Sms"
                ],
                "summary": "Recipients",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_franchisesmscontroller_recipients",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/franchise-sms/send": {
            "post": {
                "tags": [
                    "Admin \u2014 Franchise Sms"
                ],
                "summary": "Send",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_franchisesmscontroller_send",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "template_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchise_sms_templates,id"
                                    },
                                    "message_content": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 1000,
                                        "description": "Validation: required, string, min:1, max:1000"
                                    },
                                    "recipient_type": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    },
                                    "custom_mobile_numbers": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "maxLength": 20,
                                            "description": "Validation: required, string, max:20"
                                        },
                                        "description": "Validation: array, min:1"
                                    }
                                },
                                "required": [
                                    "message_content",
                                    "recipient_type"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/franchise/settings": {
            "get": {
                "tags": [
                    "Admin \u2014 Franchise"
                ],
                "summary": "Show",
                "description": "GET /api/franchise/settings\n\n**Access:** JWT required",
                "operationId": "get_franchisesettingscontroller_show",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin \u2014 Franchise"
                ],
                "summary": "Update",
                "description": "PUT /api/franchise/settings \u2014 save changes (partial update).\n\n**Access:** JWT required",
                "operationId": "put_franchisesettingscontroller_update",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "profile": {
                                        "type": "object",
                                        "properties": {
                                            "first_name": {
                                                "type": "string"
                                            },
                                            "last_name": {
                                                "type": "string"
                                            },
                                            "name": {
                                                "type": "string"
                                            },
                                            "email": {
                                                "type": "string"
                                            },
                                            "phone_number": {
                                                "type": "string"
                                            },
                                            "profile_image": {
                                                "type": "string",
                                                "maxLength": 500,
                                                "nullable": true,
                                                "description": "Validation: nullable, string, max:500"
                                            },
                                            "remove_profile_image": {
                                                "type": "boolean",
                                                "description": "Validation: boolean"
                                            }
                                        }
                                    },
                                    "general": {
                                        "type": "object",
                                        "properties": {
                                            "organization_name": {
                                                "type": "string"
                                            },
                                            "support_email": {
                                                "type": "string",
                                                "nullable": true,
                                                "description": "Validation: nullable"
                                            },
                                            "timezone": {
                                                "type": "string",
                                                "description": "Validation: string, in:"
                                            },
                                            "currency": {
                                                "type": "string",
                                                "description": "Validation: string, in:"
                                            }
                                        }
                                    },
                                    "security": {
                                        "type": "object",
                                        "properties": {
                                            "two_factor_enabled": {
                                                "type": "boolean",
                                                "description": "Validation: boolean"
                                            },
                                            "session_timeout_minutes": {
                                                "type": "integer",
                                                "description": "Validation: integer, in:"
                                            }
                                        }
                                    },
                                    "notifications": {
                                        "type": "object",
                                        "properties": {
                                            "email_alerts_enabled": {
                                                "type": "boolean",
                                                "description": "Validation: boolean"
                                            },
                                            "sms_notifications_enabled": {
                                                "type": "boolean",
                                                "description": "Validation: boolean"
                                            },
                                            "push_notifications_enabled": {
                                                "type": "boolean",
                                                "description": "Validation: boolean"
                                            },
                                            "system_announcements_enabled": {
                                                "type": "boolean",
                                                "description": "Validation: boolean"
                                            }
                                        }
                                    },
                                    "profile_image": {
                                        "type": "string",
                                        "format": "binary",
                                        "description": "Validation: image, max:5120"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/franchise/settings/deactivate-all-users": {
            "post": {
                "tags": [
                    "Admin \u2014 Franchise"
                ],
                "summary": "Deactivate All Users",
                "description": "POST /api/franchise/settings/deactivate-all-users\n\n**Access:** JWT required",
                "operationId": "post_franchisesettingscontroller_deactivateallusers",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "confirm": {
                                        "type": "boolean",
                                        "description": "Validation: required, boolean, accepted"
                                    }
                                },
                                "required": [
                                    "confirm"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/franchise/settings/organization": {
            "delete": {
                "tags": [
                    "Admin \u2014 Franchise"
                ],
                "summary": "Destroy Organization",
                "description": "DELETE /api/franchise/settings/organization\n\n**Access:** JWT required",
                "operationId": "delete_franchisesettingscontroller_destroyorganization",
                "parameters": [],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/franchise/settings/reset": {
            "post": {
                "tags": [
                    "Admin \u2014 Franchise"
                ],
                "summary": "Reset Defaults",
                "description": "POST /api/franchise/settings/reset \u2014 restore defaults.\n\n**Access:** JWT required",
                "operationId": "post_franchisesettingscontroller_resetdefaults",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "sections": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "enum": [
                                                "general",
                                                "security",
                                                "notifications",
                                                "all"
                                            ],
                                            "description": "Validation: string, in:general,security,notifications,all"
                                        },
                                        "description": "Validation: array"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/franchise/settings/users": {
            "get": {
                "tags": [
                    "Admin \u2014 Franchise"
                ],
                "summary": "List Users",
                "description": "GET /api/franchise/settings/users\n\n**Access:** JWT required",
                "operationId": "get_franchisesettingscontroller_listusers",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin \u2014 Franchise"
                ],
                "summary": "Store User",
                "description": "POST /api/franchise/settings/users\n\n**Access:** JWT required",
                "operationId": "post_franchisesettingscontroller_storeuser",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "Validation: unique:users,email"
                                    },
                                    "username": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50, unique:users,username"
                                    },
                                    "password": {
                                        "type": "string",
                                        "minLength": 6,
                                        "description": "Validation: string, min:6"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "franchise",
                                            "technician"
                                        ],
                                        "description": "Validation: string, in:franchise,technician"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/franchise/settings/users/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Franchise"
                ],
                "summary": "Destroy User",
                "description": "DELETE /api/franchise/settings/users/{id} \u2014 deactivate user.\n\n**Access:** JWT required",
                "operationId": "delete_franchisesettingscontroller_destroyuser",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin \u2014 Franchise"
                ],
                "summary": "Update User",
                "description": "PUT /api/franchise/settings/users/{id}\n\n**Access:** JWT required",
                "operationId": "put_franchisesettingscontroller_updateuser",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "first_name": {
                                        "type": "string"
                                    },
                                    "last_name": {
                                        "type": "string"
                                    },
                                    "name": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string"
                                    },
                                    "phone_number": {
                                        "type": "string"
                                    },
                                    "is_active": {
                                        "type": "boolean",
                                        "description": "Validation: boolean"
                                    },
                                    "password": {
                                        "type": "string",
                                        "minLength": 6,
                                        "description": "Validation: string, min:6"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/franchises": {
            "get": {
                "tags": [
                    "Admin \u2014 Franchises"
                ],
                "summary": "Admin Index",
                "description": "GET /api/admin/franchises \u2014 admin panel list (alias of index with explicit admin guard).\n\n**Access:** JWT required, admin",
                "operationId": "get_franchisecontroller_adminindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin \u2014 Franchises"
                ],
                "summary": "Store As Admin",
                "description": "POST /api/admin/franchises \u2014 requires super admin Bearer token (auth:api + admin middleware).\n\n**Access:** JWT required, admin",
                "operationId": "post_franchisecontroller_storeasadmin",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_address": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "description": "Validation: required, string, max:2000"
                                    },
                                    "franchise_city": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "description": "Validation: required, string, max:100"
                                    },
                                    "Is_Headquarters": {
                                        "type": "boolean",
                                        "description": "Validation: required, boolean"
                                    },
                                    "password": {
                                        "type": "string",
                                        "minLength": 6,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, min:6"
                                    },
                                    "owner_name": {
                                        "type": "string",
                                        "description": "Validation: required_without:first_name"
                                    }
                                },
                                "required": [
                                    "franchise_address",
                                    "franchise_city",
                                    "Is_Headquarters"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/franchises/dashboard/performance": {
            "get": {
                "tags": [
                    "Admin \u2014 Franchises"
                ],
                "summary": "Dashboard Performance",
                "description": "GET /api/admin/franchises/dashboard/performance Admin dashboard: rank franchises by total revenue (sum of payments.amount). Query params: - limit (default 10, max 50)\n\n**Access:** JWT required, admin",
                "operationId": "get_franchisecontroller_dashboardperformance",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/franchises/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Franchises"
                ],
                "summary": "Admin Destroy",
                "description": "DELETE /api/admin/franchises/{id} \u2014 archive by default; ?permanent=1 when safe.\n\n**Access:** JWT required, admin",
                "operationId": "delete_franchisecontroller_admindestroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Admin \u2014 Franchises"
                ],
                "summary": "Admin Show",
                "description": "GET /api/admin/franchises/{id} \u2014 admin panel detail.\n\n**Access:** JWT required, admin",
                "operationId": "get_franchisecontroller_adminshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin \u2014 Franchises"
                ],
                "summary": "Admin Update",
                "description": "PUT /api/admin/franchises/{id} \u2014 admin panel update.\n\n**Access:** JWT required, admin",
                "operationId": "put_franchisecontroller_adminupdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_name": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "franchise_address": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "description": "Validation: required, string, max:2000"
                                    },
                                    "franchise_city": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "description": "Validation: required, string, max:100"
                                    },
                                    "franchise_phone_number": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "franchise_phonen_number": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "mobile_number": {
                                        "type": "string"
                                    },
                                    "is_active": {
                                        "type": "boolean",
                                        "description": "Validation: boolean"
                                    },
                                    "first_name": {
                                        "type": "string"
                                    },
                                    "last_name": {
                                        "type": "string"
                                    },
                                    "owner_name": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string"
                                    },
                                    "owner_email": {
                                        "type": "string"
                                    },
                                    "login_id": {
                                        "type": "string"
                                    },
                                    "phone_number": {
                                        "type": "string"
                                    },
                                    "password": {
                                        "type": "string",
                                        "minLength": 6,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, min:6"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/franchises/{id}/dependencies": {
            "get": {
                "tags": [
                    "Admin \u2014 Franchises"
                ],
                "summary": "Admin Deletion Dependencies",
                "description": "GET /api/admin/franchises/{id}/dependencies \u2014 delete preview for admin UI.\n\n**Access:** JWT required, admin",
                "operationId": "get_franchisecontroller_admindeletiondependencies",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/getAllAprovedRequests": {
            "get": {
                "tags": [
                    "Admin \u2014 Getallaprovedrequests"
                ],
                "summary": "Get All Aproved Requests",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_inventorycontroller_getallaprovedrequests",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/getAllRejectedRequests": {
            "get": {
                "tags": [
                    "Admin \u2014 Getallrejectedrequests"
                ],
                "summary": "Get All Rejected Requests",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_inventorycontroller_getallrejectedrequests",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/getAllinventories": {
            "get": {
                "tags": [
                    "Admin \u2014 Getallinventories"
                ],
                "summary": "List central inventory (admin)",
                "description": "Admin network inventory rows with `unit_price`, `total_value`, and `status` per row (`in_stock`, `low_stock`, `out_of_stock`). Optional `franchise_id` and `below_minimum=1` filters. Response `meta.stock_status` documents status rules.",
                "operationId": "get_inventorycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Branch within admin network"
                    },
                    {
                        "name": "below_minimum",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "When true: quantity < minimum_quantity"
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Inventory rows for admin network",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "inventories": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/InventoryRow"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        },
                                        "franchises": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/getAllinventories/export": {
            "get": {
                "tags": [
                    "Admin \u2014 Getallinventories"
                ],
                "summary": "Export central inventory (admin)",
                "description": "Excel (`format=xlsx`, streamed) or printable PDF (`format=pdf`) for admin central inventory. Same filters as `GET /api/admin/getAllinventories`.",
                "operationId": "get_inventorycontroller_adminexport",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Branch within admin network"
                    },
                    {
                        "name": "below_minimum",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "When true: quantity < minimum_quantity"
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "xlsx",
                                "pdf"
                            ]
                        },
                        "description": "Export file type. Returns `Content-Disposition: attachment` with a timestamped filename."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "File download (filtered export)",
                        "content": {
                            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            },
                            "application/pdf": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        },
                        "headers": {
                            "Content-Disposition": {
                                "description": "attachment; filename=\"<module>-YYYYMMDD-HHMMSS.<format>\"",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Invalid format or filter value",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/getAlltechnicians": {
            "get": {
                "tags": [
                    "Admin \u2014 Getalltechnicians"
                ],
                "summary": "Admin Index",
                "description": "GET /api/admin/technicians \u2014 super admin lists technicians for franchises they own. Query: franchise_id (optional)\n\n**Access:** JWT required, admin",
                "operationId": "get_techniciancontroller_adminindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/getInventoryRequests": {
            "get": {
                "tags": [
                    "Admin \u2014 Getinventoryrequests"
                ],
                "summary": "Get Inventory Requests",
                "description": "GET /api/admin/getInventoryRequests \u2014 alias for admin inventory requests.\n\n**Access:** JWT required, admin",
                "operationId": "get_dashboardcontroller_getinventoryrequests",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/gettechniciansById/{id}": {
            "get": {
                "tags": [
                    "Admin \u2014 Gettechniciansbyid"
                ],
                "summary": "Admin Show",
                "description": "GET /api/admin/technicians/{id} \u2014 one technician if franchise belongs to this admin.\n\n**Access:** JWT required, admin",
                "operationId": "get_techniciancontroller_adminshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/installation-pickup-tasks": {
            "get": {
                "tags": [
                    "Admin \u2014 Installation Pickup Tasks"
                ],
                "summary": "Index",
                "description": "GET /api/franchise/installation-pickup-tasks\n\n**Access:** JWT required, admin",
                "operationId": "get_installationpickuptaskcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin \u2014 Installation Pickup Tasks"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_installationpickuptaskcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_id": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/installation-pickup-tasks/form-options": {
            "get": {
                "tags": [
                    "Admin \u2014 Installation Pickup Tasks"
                ],
                "summary": "Form Options",
                "description": "GET /api/installation-pickup-tasks/form-options GET /api/franchise/installation-pickup-tasks/form-options\n\n**Access:** JWT required, admin",
                "operationId": "get_installationpickuptaskcontroller_formoptions",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/installation-pickup-tasks/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Installation Pickup Tasks"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_installationpickuptaskcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Admin \u2014 Installation Pickup Tasks"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_installationpickuptaskcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin \u2014 Installation Pickup Tasks"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_installationpickuptaskcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/installation-pickup-tasks/{id}/status": {
            "patch": {
                "tags": [
                    "Admin \u2014 Installation Pickup Tasks"
                ],
                "summary": "Update Status",
                "description": "**Access:** JWT required, admin",
                "operationId": "patch_installationpickuptaskcontroller_updatestatus",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "description": "Validation: required, in:"
                                    }
                                },
                                "required": [
                                    "status"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/inventories/bulk-delete": {
            "post": {
                "tags": [
                    "Admin \u2014 Inventories"
                ],
                "summary": "Bulk Destroy",
                "description": "POST /api/inventories/bulk-delete POST /api/admin/inventories/bulk-delete Removes all inventory rows for a product (optionally scoped to one franchise). Zero-quantity rows delete even when stale task links exist.\n\n**Access:** JWT required, admin",
                "operationId": "post_inventorycontroller_bulkdestroy",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "product_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:products,id"
                                    },
                                    "product_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "inventory_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "description": "Validation: integer"
                                        },
                                        "nullable": true,
                                        "description": "Validation: nullable, array, min:1"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/inventories/low-stock": {
            "get": {
                "tags": [
                    "Admin \u2014 Inventories"
                ],
                "summary": "Low Stock",
                "description": "GET /api/inventories/low-stock \u2014 items where quantity < minimum_quantity.\n\n**Access:** JWT required, admin",
                "operationId": "get_inventorycontroller_lowstock",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/inventories/summary": {
            "get": {
                "tags": [
                    "Admin \u2014 Inventories"
                ],
                "summary": "Central inventory summary cards (admin)",
                "description": "Returns total unique items, low/out-of-stock counts, and total inventory value. Omit `franchise_id` to scope to HQ (`Is_Headquarters` franchise via AdminInventoryResolver). Value = sum(quantity \u00d7 unit_price) using stocks.unit_price with products.price fallback.",
                "operationId": "get_inventorycontroller_admininventorysummary",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Optional branch scope. Must belong to the logged-in admin network."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Central inventory summary",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdminCentralInventorySummary"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/inventoryRequests": {
            "get": {
                "tags": [
                    "Admin \u2014 Inventoryrequests"
                ],
                "summary": "Get All Inventory Requests",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_inventorycontroller_getallinventoryrequests",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/inventoryRequests/{id}": {
            "put": {
                "tags": [
                    "Admin \u2014 Inventoryrequests"
                ],
                "summary": "Approve Reject Inventory Request",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_inventorycontroller_approverejectinventoryrequest",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "approved",
                                            "rejected"
                                        ],
                                        "description": "Validation: required, in:approved,rejected"
                                    }
                                },
                                "required": [
                                    "status"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/login": {
            "post": {
                "tags": [
                    "Admin \u2014 Login"
                ],
                "summary": "Admin login",
                "description": "Returns JWT `access_token` and `refresh_token` for **admin accounts only**.",
                "operationId": "post_authcontroller_adminlogin",
                "parameters": [],
                "security": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "admin@example.com"
                                    },
                                    "password": {
                                        "type": "string",
                                        "example": "your_password"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "Technician login alternative to email"
                                    }
                                },
                                "required": [
                                    "email",
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Login successful",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/JwtAuthResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid credentials",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/machine": {
            "get": {
                "tags": [
                    "Admin \u2014 Machine"
                ],
                "summary": "Index",
                "description": "GET /api/machines Retrieve all machines with optional filtering by status, customer, or serial number.\n\n**Access:** JWT required, admin",
                "operationId": "get_machinecontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/machine/{id}": {
            "get": {
                "tags": [
                    "Admin \u2014 Machine"
                ],
                "summary": "Show",
                "description": "GET /api/machines/{id} Retrieve a specific machine by ID.\n\n**Access:** JWT required, admin",
                "operationId": "get_machinecontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/machines": {
            "get": {
                "tags": [
                    "Admin \u2014 Machines"
                ],
                "summary": "Index",
                "description": "GET /api/machines Retrieve all machines with optional filtering by status, customer, or serial number.\n\n**Access:** JWT required, admin",
                "operationId": "get_machinecontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin \u2014 Machines"
                ],
                "summary": "Store",
                "description": "POST /api/machines Create a new machine record. Franchise users can only create machines for their franchise.\n\n**Access:** JWT required, admin",
                "operationId": "post_machinecontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/machines/statistics/summary": {
            "get": {
                "tags": [
                    "Admin \u2014 Machines"
                ],
                "summary": "Get Statistics",
                "description": "GET /api/machines/statistics/summary Retrieve machine statistics showing total machines, active units, under repair, and service due counts.\n\n**Access:** JWT required, admin",
                "operationId": "get_machinecontroller_getstatistics",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/machines/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Machines"
                ],
                "summary": "Destroy",
                "description": "DELETE /api/machines/{id} Delete a machine record.\n\n**Access:** JWT required, admin",
                "operationId": "delete_machinecontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Admin \u2014 Machines"
                ],
                "summary": "Show",
                "description": "GET /api/machines/{id} Retrieve a specific machine by ID.\n\n**Access:** JWT required, admin",
                "operationId": "get_machinecontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin \u2014 Machines"
                ],
                "summary": "Update",
                "description": "PUT /api/machines/{id} Update an existing machine record.\n\n**Access:** JWT required, admin",
                "operationId": "put_machinecontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/payment-entries": {
            "get": {
                "tags": [
                    "Admin \u2014 Payment Entries"
                ],
                "summary": "List payment entries (admin)",
                "description": "All payment entries across franchises owned by the admin. Optional filters same as franchise list.",
                "operationId": "get_paymententrycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "payment_number",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Payment entries",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PaymentEntry"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Admin \u2014 Payment Entries"
                ],
                "summary": "Create payment entry (admin)",
                "description": "Same body as franchise create. Admin may pass `franchise_id` explicitly.",
                "operationId": "post_paymententrycontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PaymentEntryCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Payment entry created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/PaymentEntry"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/payment-entries/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Payment Entries"
                ],
                "summary": "Delete payment entry (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_paymententrycontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Payment entry deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "Admin \u2014 Payment Entries"
                ],
                "summary": "Payment entry detail (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_paymententrycontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Payment entry",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/PaymentEntry"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Admin \u2014 Payment Entries"
                ],
                "summary": "Update payment entry (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_paymententrycontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PaymentEntryCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Payment entry updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/PaymentEntry"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/payment-entry": {
            "get": {
                "tags": [
                    "Admin \u2014 Payment Entry"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_paymententrycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/payment-entry/{id}": {
            "get": {
                "tags": [
                    "Admin \u2014 Payment Entry"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_paymententrycontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/product-enquiries": {
            "get": {
                "tags": [
                    "Admin \u2014 Product Enquiries"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_productenquirycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/products/by-barcode/{code}": {
            "get": {
                "tags": [
                    "Admin \u2014 Products"
                ],
                "summary": "Lookup product by barcode (admin)",
                "description": "Scan-to-add: resolves barcode to a product in the admin inventory network for central inventory form pre-fill.",
                "operationId": "get_productscontroller_lookupbybarcode",
                "parameters": [
                    {
                        "name": "code",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "code",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "8901234567890"
                        },
                        "description": "Barcode value from scanner (URL-encode if needed)"
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Product found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProductBarcodeLookup"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "No product for barcode",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/purchase": {
            "get": {
                "tags": [
                    "Admin \u2014 Purchase"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_purchasecontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/purchase-return": {
            "get": {
                "tags": [
                    "Admin \u2014 Purchase Return"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_purchasereturncontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/purchase-return/{id}": {
            "get": {
                "tags": [
                    "Admin \u2014 Purchase Return"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_purchasereturncontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/purchase-returns": {
            "get": {
                "tags": [
                    "Admin \u2014 Purchase Returns"
                ],
                "summary": "List purchase returns (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_purchasereturncontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "return_number",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Purchase returns with line items",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PurchaseReturn"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Admin \u2014 Purchase Returns"
                ],
                "summary": "Create purchase return with line items (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_purchasereturncontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PurchaseReturnCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Purchase return created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/purchase-returns/export": {
            "get": {
                "tags": [
                    "Admin \u2014 Purchase Returns"
                ],
                "summary": "Export purchase returns (admin)",
                "description": "Excel download (`format=xlsx`) with optional `return_number` filter (same as list endpoint).",
                "operationId": "get_purchasereturncontroller_adminexport",
                "parameters": [
                    {
                        "name": "format",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "xlsx"
                            ]
                        },
                        "description": "Export file type. Returns `Content-Disposition: attachment` with a timestamped filename."
                    },
                    {
                        "name": "return_number",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "File download (filtered export)",
                        "content": {
                            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        },
                        "headers": {
                            "Content-Disposition": {
                                "description": "attachment; filename=\"<module>-YYYYMMDD-HHMMSS.<format>\"",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Invalid format or filter value",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/purchase-returns/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Purchase Returns"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_purchasereturncontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Admin \u2014 Purchase Returns"
                ],
                "summary": "Purchase return detail with line items (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_purchasereturncontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Purchase return header + items[]",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PurchaseReturn"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Admin \u2014 Purchase Returns"
                ],
                "summary": "Update purchase return (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_purchasereturncontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PurchaseReturnCreateRequest"
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/purchase/{id}": {
            "get": {
                "tags": [
                    "Admin \u2014 Purchase"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_purchasecontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/purchases": {
            "get": {
                "tags": [
                    "Admin \u2014 Purchases"
                ],
                "summary": "List purchases (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_purchasecontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "purchase_number",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "code",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Purchases with line items",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Purchase"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Admin \u2014 Purchases"
                ],
                "summary": "Create purchase with line items (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_purchasecontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PurchaseCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Purchase created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/purchases/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Purchases"
                ],
                "summary": "Delete purchase (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_purchasecontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Purchase deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "Admin \u2014 Purchases"
                ],
                "summary": "Purchase detail with line items (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_purchasecontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Purchase header + items[]",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Purchase"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Admin \u2014 Purchases"
                ],
                "summary": "Update purchase (admin)",
                "description": "If `items` key is present \u2192 replace all line items. Omit `items` to leave existing lines unchanged.",
                "operationId": "put_purchasecontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PurchaseCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Purchase updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/purchases/{id}/print": {
            "get": {
                "tags": [
                    "Admin \u2014 Purchases"
                ],
                "summary": "Print purchase order (HTML or PDF)",
                "description": "Returns printable HTML (`format=html`) or PDF download (`format=pdf`, default). Includes vendor details, line items, and totals.",
                "operationId": "get_purchasecontroller_adminprint",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "html",
                                "pdf"
                            ],
                            "default": "pdf"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Printable invoice document",
                        "content": {
                            "application/pdf": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            },
                            "text/html": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Invalid format",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/receipt-entries": {
            "get": {
                "tags": [
                    "Admin \u2014 Receipt Entries"
                ],
                "summary": "List receipt entries (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_receiptentrycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "receipt_number",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Receipt entries",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ReceiptEntry"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Admin \u2014 Receipt Entries"
                ],
                "summary": "Create receipt entry (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_receiptentrycontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReceiptEntryCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Receipt entry created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/ReceiptEntry"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/receipt-entries/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Receipt Entries"
                ],
                "summary": "Delete receipt entry (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_receiptentrycontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Receipt entry deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "Admin \u2014 Receipt Entries"
                ],
                "summary": "Receipt entry detail (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_receiptentrycontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Receipt entry",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ReceiptEntry"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Admin \u2014 Receipt Entries"
                ],
                "summary": "Update receipt entry (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_receiptentrycontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReceiptEntryCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Receipt entry updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/ReceiptEntry"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/receipt-entry": {
            "get": {
                "tags": [
                    "Admin \u2014 Receipt Entry"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_receiptentrycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/receipt-entry/{id}": {
            "get": {
                "tags": [
                    "Admin \u2014 Receipt Entry"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_receiptentrycontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/rental-plans": {
            "get": {
                "tags": [
                    "Admin \u2014 Rental Plans"
                ],
                "summary": "Index",
                "description": "GET /api/admin/rental-plans GET /api/rental-plans\n\n**Access:** JWT required, admin",
                "operationId": "get_rentalplancontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin \u2014 Rental Plans"
                ],
                "summary": "Store",
                "description": "POST /api/admin/rental-plans POST /api/rental-plans\n\n**Access:** JWT required, admin",
                "operationId": "post_rentalplancontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "description": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "product_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "model_number": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    },
                                    "plan_type": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    },
                                    "price": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "monthly_rent": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "billing_cycle": {
                                        "type": "string",
                                        "enum": [
                                            "monthly",
                                            "yearly"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, in:monthly,yearly"
                                    },
                                    "features": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "maxLength": 255,
                                            "nullable": true,
                                            "description": "Validation: nullable, string, max:255"
                                        },
                                        "nullable": true,
                                        "description": "Validation: nullable, array"
                                    },
                                    "security_deposit": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "duration_months": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:1"
                                    },
                                    "specifications": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "is_active": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    },
                                    "is_most_popular": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "name"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/rental-plans/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Rental Plans"
                ],
                "summary": "Delete rental plan (admin)",
                "description": "Same rules as franchise delete. Blocked when linked subscriptions exist.",
                "operationId": "delete_rentalplancontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Rental plan deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "Admin \u2014 Rental Plans"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_rentalplancontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin \u2014 Rental Plans"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_rentalplancontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "description": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "product_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "model_number": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    },
                                    "plan_type": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    },
                                    "price": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "monthly_rent": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "billing_cycle": {
                                        "type": "string",
                                        "enum": [
                                            "monthly",
                                            "yearly"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, in:monthly,yearly"
                                    },
                                    "features": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "maxLength": 255,
                                            "nullable": true,
                                            "description": "Validation: nullable, string, max:255"
                                        },
                                        "nullable": true,
                                        "description": "Validation: nullable, array"
                                    },
                                    "security_deposit": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "duration_months": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:1"
                                    },
                                    "specifications": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "is_active": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    },
                                    "is_most_popular": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/rental-products": {
            "get": {
                "tags": [
                    "Admin \u2014 Rental Products"
                ],
                "summary": "Index",
                "description": "GET /api/rental-products GET /api/franchise/rental-products\n\n**Access:** JWT required, admin",
                "operationId": "get_rentalproductcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin \u2014 Rental Products"
                ],
                "summary": "Store",
                "description": "POST /api/rental-products POST /api/franchise/rental-products\n\n**Access:** JWT required, admin",
                "operationId": "post_rentalproductcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "franchise_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/rental-subscriptions": {
            "get": {
                "tags": [
                    "Admin \u2014 Rental Subscriptions"
                ],
                "summary": "Index",
                "description": "GET /api/franchise/rental-subscriptions GET /api/subscriptions\n\n**Access:** JWT required, admin",
                "operationId": "get_subscriptioncontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin \u2014 Rental Subscriptions"
                ],
                "summary": "Create rental subscription (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_subscriptioncontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RentalSubscriptionCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Subscription created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/RentalSubscription"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/rental-subscriptions/form-options": {
            "get": {
                "tags": [
                    "Admin \u2014 Rental Subscriptions"
                ],
                "summary": "Rental subscription form dropdowns (admin)",
                "description": "Same as franchise form-options. Pass `franchise_id` when admin manages a specific branch.",
                "operationId": "get_subscriptioncontroller_formoptions",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Form options",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/RentalSubscriptionFormOptions"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/rental-subscriptions/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Rental Subscriptions"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_subscriptioncontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Admin \u2014 Rental Subscriptions"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_subscriptioncontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin \u2014 Rental Subscriptions"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_subscriptioncontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "customer_id": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/reports/bos-amc/detail": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Live BOS / AMC Detail report. Columns: inv_no,date,code,customer_name,type,cont_due,item_name,qty,rate,discount,amount,username Filters: from,to,bill_type,party_name,inv_no,item_name,item_group,item_category\n\n**Access:** JWT required, admin",
                "operationId": "get_reportbosamcdetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/bos-amc/summary": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Live BOS / AMC Summary report. Columns: inv_no,date,code,customer_name,city,contact,c_from,c_to,service,type,total_amt,user Filters: from,to,bill_type,party_name,inv_no\n\n**Access:** JWT required, admin",
                "operationId": "get_reportbosamcsummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/cash-bank-book": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_reportcashbankbookcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/cash_bank_book": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_reportcashbankbookcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/complain/close-detail": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Live Complain Close Detail report. Columns: comp_no,ref_no,date,customer_name,itemname,partname,technician,service_type,status,problem Filters: from,to,party_name,inv_no,comp_no,part_name,technician,item_name,service_type,status Note: DB doesn't have part/service_type/inv_no. Those columns return null. Default behavior: only \"closed\" complaints (status=complete) unless status filter is provided.\n\n**Access:** JWT required, admin",
                "operationId": "get_reportcomplainclosedetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/complain/close-summary": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Live Complain Close Summary report. Columns: comp_no,ref_no,date,close_date,code,customer_name,contact,area,itemname,technician,service_type,amount Filters: from,to,party_name,inv_no,comp_no,technician,item_name,service_type,status Note: DB doesn't have close_date/amount/area/service_type/inv_no. Those are best-effort/null/0. Default behavior: only \"closed\" complaints (status=complete) unless status filter is provided.\n\n**Access:** JWT required, admin",
                "operationId": "get_reportcomplainclosesummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/complain/summary": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Live Complain Summary report. Columns: comp_no,ref_no,date,code,customer_name,contact,area,itemname,technician,service_type,status,problem Filters: from,to,party_name,inv_no,comp_no,technician,item_name,service_type,status\n\n**Access:** JWT required, admin",
                "operationId": "get_reportcomplainsummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/party-multiple-ledger": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Party Multiple Ledger (franchise or admin scoped).\n\n**Access:** JWT required, admin",
                "operationId": "get_reportpartymultipleledgercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/party-single-ledger": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Party Single Ledger (franchise or admin scoped).\n\n**Access:** JWT required, admin",
                "operationId": "get_reportpartysingleledgercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/party_multiple_ledger": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Party Multiple Ledger (franchise or admin scoped).\n\n**Access:** JWT required, admin",
                "operationId": "get_reportpartymultipleledgercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/party_single_ledger": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Party Single Ledger (franchise or admin scoped).\n\n**Access:** JWT required, admin",
                "operationId": "get_reportpartysingleledgercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/product-inquiry": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_reportproductinquirycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/product-ledger": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Product Ledger (franchise or admin scoped). Columns: date, customer_name, type, trn_no, qty Filters: product_id (or item_name), from, to; admin: franchise_id (optional)\n\n**Access:** JWT required, admin",
                "operationId": "get_reportproductledgercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/product_inquiry": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_reportproductinquirycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/product_ledger": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Product Ledger (franchise or admin scoped). Columns: date, customer_name, type, trn_no, qty Filters: product_id (or item_name), from, to; admin: franchise_id (optional)\n\n**Access:** JWT required, admin",
                "operationId": "get_reportproductledgercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/purchase-return/detail": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Live Purchase Return Detail report. Columns: inv_no,date,code,customer_name,type,item_name,qty,rate,gst,gross_amt,disc_amt,sgst_amt,cgst_amt,igst_amt,total_amt Filters: from,to,party_name,inv_no,item_name,item_group,item_category\n\n**Access:** JWT required, admin",
                "operationId": "get_reportpurchasereturndetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/purchase-return/summary": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Live Purchase Return Summary report. Columns: inv_no,date,code,customer_name,gst,contact,state,gst_type,user Filters: from,to,party_name,inv_no\n\n**Access:** JWT required, admin",
                "operationId": "get_reportpurchasereturnsummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/purchase/detail": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Live Purchase Detail report. Columns: inv_no,date,code,customer_name,type,item_name,qty,rate,gst,gross_amt,disc_amt,sgst_amt,cgst_amt,igst_amt,total_amt Filters: from,to,party_name,inv_no,item_name,item_group,item_category\n\n**Access:** JWT required, admin",
                "operationId": "get_reportpurchasedetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/purchase/summary": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Live Purchase Summary report. Columns: inv_no,date,code,customer_name,type,gstin,gross_amt,sgst_amt,cgst_amt,igst_amt,add_less,total_amt Filters: from,to,party_name,inv_no\n\n**Access:** JWT required, admin",
                "operationId": "get_reportpurchasesummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/sales-amc/detail": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Live Sales / AMC Detail report (item-wise). Filters: from,to,bill_type,party_name,inv_no,item_name,item_group,item_category\n\n**Access:** JWT required, admin",
                "operationId": "get_reportsalesamcdetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/sales-amc/summary": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Sales / AMC Summary report (franchise). Columns expected by UI: inv_no, date, code, customer_name, type, gstin, gross_amt, sgst_amt, cgst_amt, igst_amt, add_less, total_amt Notes (based on current DB): - GSTIN not available in current schema \u2192 returned as null. - SGST/CGST computed as half of tax_amount; IGST as 0. - add_less computed as total - (gross + tax) (usually 0). Filters: from, to, bill_type, party_name, inv_no\n\n**Access:** JWT required, admin",
                "operationId": "get_reportsalesamcsummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/sales-return/detail": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Live Sales Return Detail report. Columns: inv_no,date,code,customer_name,type,item_name,qty,rate,gst,gross_amt,disc_amt,sgst_amt,cgst_amt,igst_amt,total_amt Filters: from,to,party_name,inv_no,item_name,item_group,item_category\n\n**Access:** JWT required, admin",
                "operationId": "get_reportsalesreturndetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/sales-return/summary": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Live Sales Return Summary report. Columns: inv_no,date,code,customer_name,type,gstin,gross_amt,sgst_amt,cgst_amt,igst_amt,add_less,total_amt Filters: from,to,party_name,inv_no\n\n**Access:** JWT required, admin",
                "operationId": "get_reportsalesreturnsummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/schedule-service": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Live Schedule Service Report. Columns: inv_no,date,code,ref_compno,customer_name,area,contact,service_dt,type,status Filters: party_name\n\n**Access:** JWT required, admin",
                "operationId": "get_reportscheduleservicecontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/stock-reports": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Stock report list (paginated). Franchise or admin scoped. Filters: from, to, search (item_name), item_type; admin: franchise_id (optional)\n\n**Access:** JWT required, admin",
                "operationId": "get_stockreportcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/stock-reports/{id}": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stockreportcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/stock_reports": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Stock report list (paginated). Franchise or admin scoped. Filters: from, to, search (item_name), item_type; admin: franchise_id (optional)\n\n**Access:** JWT required, admin",
                "operationId": "get_stockreportcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/stock_reports/{id}": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stockreportcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/technician-locations": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Current Locations Index",
                "description": "Latest (current) location for each technician under the caller's franchises. GET /api/reports/technician-locations | GET /api/admin/reports/technician-locations Query: franchise_id (admin), technician_id, only_with_location, stale_after_minutes\n\n**Access:** JWT required, admin",
                "operationId": "get_techniciantrackinglogcontroller_currentlocationsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/technician-locations/{technicianId}": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Current Location Show",
                "description": "Latest location for one technician. GET /api/reports/technician-locations/{technicianId}\n\n**Access:** JWT required, admin",
                "operationId": "get_techniciantrackinglogcontroller_currentlocationshow",
                "parameters": [
                    {
                        "name": "technicianId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/technician-stock": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Technician Stock Report (franchise scoped). Columns: item_name, technician, to_technician, from_technician, complain, total Filters: technician (id), from, to\n\n**Access:** JWT required, admin",
                "operationId": "get_reporttechnicianstockcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/technician_locations": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Current Locations Index",
                "description": "Latest (current) location for each technician under the caller's franchises. GET /api/reports/technician-locations | GET /api/admin/reports/technician-locations Query: franchise_id (admin), technician_id, only_with_location, stale_after_minutes\n\n**Access:** JWT required, admin",
                "operationId": "get_techniciantrackinglogcontroller_currentlocationsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/technician_locations/{technicianId}": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Current Location Show",
                "description": "Latest location for one technician. GET /api/reports/technician-locations/{technicianId}\n\n**Access:** JWT required, admin",
                "operationId": "get_techniciantrackinglogcontroller_currentlocationshow",
                "parameters": [
                    {
                        "name": "technicianId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/tracking-history": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Technician GPS tracking history (admin)",
                "description": "Same response shape as franchise tracking history, plus `franchises[]` dropdown for admin. Optional `franchise_id` narrows to one branch.",
                "operationId": "get_techniciantrackinglogcontroller_reportindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "technician",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "date",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tracking history with technician filter options",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TrackingHistoryResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/reports/tracking_history": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Report Index",
                "description": "Tracking history report (franchise: own franchises; admin: all franchises under this admin). GET /api/reports/tracking-history | GET /api/admin/reports/tracking-history Filters: technician (id or name), date; for admin only: franchise_id (optional)\n\n**Access:** JWT required, admin",
                "operationId": "get_techniciantrackinglogcontroller_reportindex",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/user-logs": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_userlogcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/user_logs": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_userlogcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/warranty-amc-part-cost": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Warranty / AMC Part Cost Report. Source: date_wise_collections Filters: from,to,service_type (amc|warranty|all), complaint_status, technician_id, part_name, search\n\n**Access:** JWT required, admin",
                "operationId": "get_reportwarrantyamcpartcostcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/reports/warranty_amc_part_cost": {
            "get": {
                "tags": [
                    "Admin \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Warranty / AMC Part Cost Report. Source: date_wise_collections Filters: from,to,service_type (amc|warranty|all), complaint_status, technician_id, part_name, search\n\n**Access:** JWT required, admin",
                "operationId": "get_reportwarrantyamcpartcostcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/sales-return": {
            "get": {
                "tags": [
                    "Admin \u2014 Sales Return"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_salesreturncontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/sales-return/{id}": {
            "get": {
                "tags": [
                    "Admin \u2014 Sales Return"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_salesreturncontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/sales-returns": {
            "get": {
                "tags": [
                    "Admin \u2014 Sales Returns"
                ],
                "summary": "List sales returns (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_salesreturncontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "return_number",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "invoice_number",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sales returns with line items",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/SalesReturn"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Admin \u2014 Sales Returns"
                ],
                "summary": "Create sales return (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_salesreturncontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SalesReturnCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Sales return created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/sales-returns/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Sales Returns"
                ],
                "summary": "Delete sales return (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_salesreturncontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sales return deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "Admin \u2014 Sales Returns"
                ],
                "summary": "Sales return detail (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_salesreturncontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sales return header + items[]",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SalesReturn"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Admin \u2014 Sales Returns"
                ],
                "summary": "Update sales return (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_salesreturncontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SalesReturnCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Sales return updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/shippedInventoryRequest/{id}": {
            "put": {
                "tags": [
                    "Admin \u2014 Shippedinventoryrequest"
                ],
                "summary": "Shipped Inventory Request",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_inventorycontroller_shippedinventoryrequest",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "shipped"
                                        ],
                                        "description": "Validation: required, in:shipped"
                                    }
                                },
                                "required": [
                                    "status"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/stock-approval": {
            "get": {
                "tags": [
                    "Admin \u2014 Stock Approval"
                ],
                "summary": "Admin stock approval requests (legacy path)",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stockapprovalrequestcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "maxLength": 200
                        },
                        "description": "Matches request_no, numeric id, franchise_name, franchise_city"
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "pending_admin_approval",
                                "pending",
                                "pending_approval",
                                "approved_by_admin",
                                "approved",
                                "rejected_by_admin",
                                "rejected",
                                "awaiting_delivery",
                                "in_transit",
                                "awaiting_franchise_verification",
                                "issue_reported",
                                "issue_resolved",
                                "delivered_verified",
                                "inventory_updated",
                                "completed"
                            ]
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "priority",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "low",
                                "medium",
                                "high"
                            ]
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/stock-approval/dashboard/counts": {
            "get": {
                "tags": [
                    "Admin \u2014 Stock Approval"
                ],
                "summary": "Dashboard Counts",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stockapprovalrequestcontroller_dashboardcounts",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/stock-approval/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Stock Approval"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_stockapprovalrequestcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Admin \u2014 Stock Approval"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stockapprovalrequestcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin \u2014 Stock Approval"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_stockapprovalrequestcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "request_no": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50, unique:stock_approval_requests,request_no,"
                                    },
                                    "items_requested": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "status": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:"
                                    },
                                    "priority": {
                                        "type": "string",
                                        "enum": [
                                            "low",
                                            "medium",
                                            "high"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, in:low,medium,high"
                                    },
                                    "request_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "admin_notes": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:2000"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/stock-approval/{id}/approve": {
            "post": {
                "tags": [
                    "Admin \u2014 Stock Approval"
                ],
                "summary": "Admin Approve",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_stockapprovalrequestcontroller_adminapprove",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "admin_notes": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:2000"
                                    },
                                    "move_to_delivery": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    },
                                    "skip_stock_check": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/stock-approval/{id}/reject": {
            "post": {
                "tags": [
                    "Admin \u2014 Stock Approval"
                ],
                "summary": "Admin Reject",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_stockapprovalrequestcontroller_adminreject",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "admin_rejection_reason": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "description": "Validation: required, string, max:2000"
                                    }
                                },
                                "required": [
                                    "admin_rejection_reason"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/stock-approvals": {
            "get": {
                "tags": [
                    "Admin \u2014 Stock Approvals"
                ],
                "summary": "Admin stock approval requests",
                "description": "All stock orders for franchises owned by the logged-in admin. Same filters as franchise list; `franchise_id` narrows to one branch.",
                "operationId": "get_stockapprovalrequestcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "maxLength": 200
                        },
                        "description": "Matches request_no, numeric id, franchise_name, franchise_city"
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "pending_admin_approval",
                                "pending",
                                "pending_approval",
                                "approved_by_admin",
                                "approved",
                                "rejected_by_admin",
                                "rejected",
                                "awaiting_delivery",
                                "in_transit",
                                "awaiting_franchise_verification",
                                "issue_reported",
                                "issue_resolved",
                                "delivered_verified",
                                "inventory_updated",
                                "completed"
                            ]
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "priority",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "low",
                                "medium",
                                "high"
                            ]
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/stock-approvals/admin-inventory-products": {
            "get": {
                "tags": [
                    "Admin \u2014 Stock Approvals"
                ],
                "summary": "Admin Inventory Catalog",
                "description": "Products available from admin HQ inventory for the New Stock Request modal. GET /api/stock-orders/admin-inventory-products\n\n**Access:** JWT required, admin",
                "operationId": "get_stockapprovalrequestcontroller_admininventorycatalog",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/stock-approvals/dashboard/counts": {
            "get": {
                "tags": [
                    "Admin \u2014 Stock Approvals"
                ],
                "summary": "Dashboard Counts",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stockapprovalrequestcontroller_dashboardcounts",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/stock-approvals/export": {
            "get": {
                "tags": [
                    "Admin \u2014 Stock Approvals"
                ],
                "summary": "Export stock approval requests (admin)",
                "description": "Excel download (`format=xlsx`) using the same filters as `GET /api/admin/stock-approvals` (search, status, franchise_id, priority).",
                "operationId": "get_stockapprovalrequestcontroller_adminexport",
                "parameters": [
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "maxLength": 200
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "priority",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "low",
                                "medium",
                                "high"
                            ]
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "xlsx"
                            ]
                        },
                        "description": "Export file type. Returns `Content-Disposition: attachment` with a timestamped filename."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "File download (filtered export)",
                        "content": {
                            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        },
                        "headers": {
                            "Content-Disposition": {
                                "description": "attachment; filename=\"<module>-YYYYMMDD-HHMMSS.<format>\"",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Invalid format or filter value",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/stock-approvals/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Stock Approvals"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_stockapprovalrequestcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Admin \u2014 Stock Approvals"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stockapprovalrequestcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin \u2014 Stock Approvals"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_stockapprovalrequestcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "request_no": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50, unique:stock_approval_requests,request_no,"
                                    },
                                    "items_requested": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "status": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:"
                                    },
                                    "priority": {
                                        "type": "string",
                                        "enum": [
                                            "low",
                                            "medium",
                                            "high"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, in:low,medium,high"
                                    },
                                    "request_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "admin_notes": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:2000"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/stock-approvals/{id}/approve": {
            "post": {
                "tags": [
                    "Admin \u2014 Stock Approvals"
                ],
                "summary": "Admin Approve",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_stockapprovalrequestcontroller_adminapprove",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "admin_notes": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:2000"
                                    },
                                    "move_to_delivery": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    },
                                    "skip_stock_check": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/stock-approvals/{id}/dispatch": {
            "post": {
                "tags": [
                    "Admin \u2014 Stock Approvals"
                ],
                "summary": "Admin Dispatch",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_stockapprovalrequestcontroller_admindispatch",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/stock-approvals/{id}/mark-awaiting-verification": {
            "post": {
                "tags": [
                    "Admin \u2014 Stock Approvals"
                ],
                "summary": "Admin Mark Awaiting Verification",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_stockapprovalrequestcontroller_adminmarkawaitingverification",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/stock-approvals/{id}/reject": {
            "post": {
                "tags": [
                    "Admin \u2014 Stock Approvals"
                ],
                "summary": "Admin Reject",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_stockapprovalrequestcontroller_adminreject",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "admin_rejection_reason": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "description": "Validation: required, string, max:2000"
                                    }
                                },
                                "required": [
                                    "admin_rejection_reason"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/stock-approvals/{id}/resolve-issue": {
            "post": {
                "tags": [
                    "Admin \u2014 Stock Approvals"
                ],
                "summary": "Admin Resolve Issue",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_stockapprovalrequestcontroller_adminresolveissue",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "admin_resolution_notes": {
                                        "type": "string",
                                        "maxLength": 5000,
                                        "description": "Validation: required, string, max:5000"
                                    },
                                    "issue_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:stock_order_issues,id"
                                    }
                                },
                                "required": [
                                    "admin_resolution_notes"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/stock-approvals/{id}/status": {
            "get": {
                "tags": [
                    "Admin \u2014 Stock Approvals"
                ],
                "summary": "Status Tracking",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stockapprovalrequestcontroller_statustracking",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/stock-from-technician": {
            "get": {
                "tags": [
                    "Admin \u2014 Stock From Technician"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stockfromtechniciancontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/stock-from-technician/{id}": {
            "get": {
                "tags": [
                    "Admin \u2014 Stock From Technician"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stockfromtechniciancontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/stock-from-technicians": {
            "get": {
                "tags": [
                    "Admin \u2014 Stock From Technicians"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stockfromtechniciancontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin \u2014 Stock From Technicians"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_stockfromtechniciancontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Validation: required, date"
                                    },
                                    "technician_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:technicians,id"
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:products,id"
                                    },
                                    "quantity": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "description": "Validation: required, integer, min:1"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "date",
                                    "technician_id",
                                    "product_id",
                                    "quantity",
                                    "franchise_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/stock-from-technicians/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Stock From Technicians"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_stockfromtechniciancontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Admin \u2014 Stock From Technicians"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stockfromtechniciancontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin \u2014 Stock From Technicians"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_stockfromtechniciancontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "technician_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:technicians,id"
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:products,id"
                                    },
                                    "quantity": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:1"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/stock-order-issues": {
            "get": {
                "tags": [
                    "Admin \u2014 Stock Order Issues"
                ],
                "summary": "List Issues",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stockapprovalrequestcontroller_listissues",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/stock-orders/admin-inventory-products": {
            "get": {
                "tags": [
                    "Admin \u2014 Stock Orders"
                ],
                "summary": "Admin Inventory Catalog",
                "description": "Products available from admin HQ inventory for the New Stock Request modal. GET /api/stock-orders/admin-inventory-products\n\n**Access:** JWT required, admin",
                "operationId": "get_stockapprovalrequestcontroller_admininventorycatalog",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/stock-to-technician": {
            "get": {
                "tags": [
                    "Admin \u2014 Stock To Technician"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stocktotechniciancontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/stock-to-technician/{id}": {
            "get": {
                "tags": [
                    "Admin \u2014 Stock To Technician"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stocktotechniciancontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/stock-to-technicians": {
            "get": {
                "tags": [
                    "Admin \u2014 Stock To Technicians"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stocktotechniciancontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin \u2014 Stock To Technicians"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_stocktotechniciancontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Validation: required, date"
                                    },
                                    "technician_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:technicians,id"
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:products,id"
                                    },
                                    "quantity": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "description": "Validation: required, integer, min:1"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "assigned",
                                            "returned",
                                            "used"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:assigned,returned,used"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "date",
                                    "technician_id",
                                    "product_id",
                                    "quantity",
                                    "franchise_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/stock-to-technicians/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Stock To Technicians"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_stocktotechniciancontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Admin \u2014 Stock To Technicians"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_stocktotechniciancontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin \u2014 Stock To Technicians"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required, admin",
                "operationId": "put_stocktotechniciancontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "technician_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:technicians,id"
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:products,id"
                                    },
                                    "quantity": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:1"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "assigned",
                                            "returned",
                                            "used"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:assigned,returned,used"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/tasks/assign": {
            "post": {
                "tags": [
                    "Admin \u2014 Tasks"
                ],
                "summary": "Assign",
                "description": "POST /api/tasks/assign \u2014 admin/franchise assigns task to technician (e.g. tech12@test.com).\n\n**Access:** JWT required",
                "operationId": "post_fullfunctionalitytaskcontroller_assign",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/tax-invoice": {
            "get": {
                "tags": [
                    "Admin \u2014 Tax Invoice"
                ],
                "summary": "Admin Index",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_taxinvoicecontroller_adminindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/tax-invoice/{id}": {
            "get": {
                "tags": [
                    "Admin \u2014 Tax Invoice"
                ],
                "summary": "Admin Show",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_taxinvoicecontroller_adminshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/tax-invoices": {
            "get": {
                "tags": [
                    "Admin \u2014 Tax Invoices"
                ],
                "summary": "List tax invoices (admin)",
                "description": "Each row includes full address, contract_start/end, scheduled_service_visits, product_name, and line items with product relationships.",
                "operationId": "get_taxinvoicecontroller_adminindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "bill_type",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin \u2014 Tax Invoices"
                ],
                "summary": "Create tax invoice with line items",
                "description": "Header supports full address, contract_start/end, scheduled_service_visits, contract_form, number_of_services. Line items accept product_id/amc_plan_id and resolve product names. When `items[]` is sent, header totals are computed from line items (replace-all on update).",
                "operationId": "post_taxinvoicecontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TaxInvoiceCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Tax invoice created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/tax-invoices/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Tax Invoices"
                ],
                "summary": "Delete tax invoice (admin)",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_taxinvoicecontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tax invoice deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "Admin \u2014 Tax Invoices"
                ],
                "summary": "Tax invoice detail with line items",
                "description": "**Access:** JWT required, admin",
                "operationId": "get_taxinvoicecontroller_adminshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Invoice header + items[]",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TaxInvoice"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Admin \u2014 Tax Invoices"
                ],
                "summary": "Update tax invoice (admin)",
                "description": "If `items` key is present \u2192 replace all line items. Omit `items` to leave existing lines unchanged.",
                "operationId": "put_taxinvoicecontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TaxInvoiceCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Tax invoice updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/tax-invoices/{id}/email": {
            "post": {
                "tags": [
                    "Admin \u2014 Tax Invoices"
                ],
                "summary": "Email tax invoice PDF",
                "description": "Sends the invoice as a PDF attachment to the given email address.",
                "operationId": "post_taxinvoicecontroller_adminemail",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "to": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "customer@example.com"
                                    }
                                },
                                "required": [
                                    "to"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Email queued/sent",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TaxInvoiceEmailResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Mail transport failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/tax-invoices/{id}/print": {
            "get": {
                "tags": [
                    "Admin \u2014 Tax Invoices"
                ],
                "summary": "Print tax invoice (HTML or PDF)",
                "description": "Returns printable HTML (`format=html`) or PDF download (`format=pdf`, default). Use from admin table Print action.",
                "operationId": "get_taxinvoicecontroller_adminprint",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "html",
                                "pdf"
                            ],
                            "default": "pdf"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Printable invoice document",
                        "content": {
                            "application/pdf": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            },
                            "text/html": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Invalid format",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/tax-invoices/{id}/whatsapp": {
            "post": {
                "tags": [
                    "Admin \u2014 Tax Invoices"
                ],
                "summary": "WhatsApp share link for tax invoice",
                "description": "Returns a `wa.me` deep link with a pre-filled message. Optional `phone` overrides invoice contact. WhatsApp Business API is not required.",
                "operationId": "post_taxinvoicecontroller_adminwhatsapp",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "phone": {
                                        "type": "string",
                                        "nullable": true,
                                        "example": "9876543210",
                                        "description": "Optional E.164/local mobile; defaults to invoice contact or linked customer phone"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "WhatsApp link generated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TaxInvoiceWhatsAppResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "No valid phone number available",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/technician-ratings": {
            "get": {
                "tags": [
                    "Admin \u2014 Technician Ratings"
                ],
                "summary": "Index",
                "description": "Display a listing of the resource.\n\n**Access:** JWT required, admin",
                "operationId": "get_technicianratingcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/technician-ratings/{id}": {
            "get": {
                "tags": [
                    "Admin \u2014 Technician Ratings"
                ],
                "summary": "Show",
                "description": "Display the specified resource.\n\n**Access:** JWT required, admin",
                "operationId": "get_technicianratingcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/technicians": {
            "get": {
                "tags": [
                    "Admin \u2014 Technicians"
                ],
                "summary": "Admin Index",
                "description": "GET /api/admin/technicians \u2014 super admin lists technicians for franchises they own. Query: franchise_id (optional)\n\n**Access:** JWT required, admin",
                "operationId": "get_techniciancontroller_adminindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Admin \u2014 Technicians"
                ],
                "summary": "Store",
                "description": "POST /api/technicians \u2014 admin or franchise creates a technician + login.\n\n**Access:** JWT required, admin",
                "operationId": "post_techniciancontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "username": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "description": "Validation: required, string, max:50, unique:users,username"
                                    },
                                    "email": {
                                        "type": "string",
                                        "description": "Validation: unique:technicians,email"
                                    },
                                    "password": {
                                        "type": "string",
                                        "minLength": 6,
                                        "description": "Validation: required, string, min:6"
                                    },
                                    "technician_photo": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    },
                                    "payment_type": {
                                        "type": "string",
                                        "enum": [
                                            "salary",
                                            "commission"
                                        ],
                                        "description": "Validation: required, in:salary,commission"
                                    },
                                    "salary": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "commission_rate": {
                                        "type": "number",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0, max:100"
                                    },
                                    "visit_charge": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    }
                                },
                                "required": [
                                    "username",
                                    "password",
                                    "payment_type"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/admin/technicians/{id}": {
            "delete": {
                "tags": [
                    "Admin \u2014 Technicians"
                ],
                "summary": "Destroy",
                "description": "DELETE /api/Deletetechnicians/{id} \u2014 remove row if in actor scope.\n\n**Access:** JWT required, admin",
                "operationId": "delete_techniciancontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Admin \u2014 Technicians"
                ],
                "summary": "Admin Show",
                "description": "GET /api/admin/technicians/{id} \u2014 one technician if franchise belongs to this admin.\n\n**Access:** JWT required, admin",
                "operationId": "get_techniciancontroller_adminshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Admin \u2014 Technicians"
                ],
                "summary": "Update",
                "description": "PUT /api/Updatetechnicians/{id} \u2014 partial/full update on fields you send.\n\n**Access:** JWT required, admin",
                "operationId": "put_techniciancontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "full_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "first_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "last_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "email": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "phone_number": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: integer, exists:franchises,id"
                                    },
                                    "payment_type": {
                                        "type": "string",
                                        "enum": [
                                            "salary",
                                            "commission"
                                        ],
                                        "description": "Validation: required, in:salary,commission"
                                    },
                                    "salary": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "commission_rate": {
                                        "type": "number",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0, max:100"
                                    },
                                    "visit_charge": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    }
                                },
                                "required": [
                                    "payment_type"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/amc-plans": {
            "get": {
                "tags": [
                    "AMC"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required",
                "operationId": "get_amcplancontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "AMC"
                ],
                "summary": "Store",
                "description": "POST /api/amc-plans and POST /api/admin/amc-plans \u2014 super admin creates catalog AMC (customer_id null).\n\n**Access:** JWT required, admin",
                "operationId": "post_amcplancontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AmcPlanWriteRequest"
                            }
                        }
                    }
                }
            }
        },
        "/api/amc-plans/{id}": {
            "delete": {
                "tags": [
                    "AMC"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_amcplancontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "AMC"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_amcplancontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "AMC"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_amcplancontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "price": {
                                        "type": "number",
                                        "minimum": 0,
                                        "description": "Validation: required, numeric, min:0"
                                    },
                                    "amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    }
                                },
                                "required": [
                                    "price"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/amc/upcoming-services": {
            "get": {
                "tags": [
                    "Amc"
                ],
                "summary": "Upcoming Services",
                "description": "GET /api/franchise/amc/upcoming-services GET /api/admin/amc/upcoming-services\n\n**Access:** JWT required",
                "operationId": "get_productamcsubscriptioncontroller_upcomingservices",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/area-masters": {
            "get": {
                "tags": [
                    "Area Masters"
                ],
                "summary": "Area master list",
                "description": "**Access:** JWT required",
                "operationId": "get_areamastercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Area Masters"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required",
                "operationId": "post_areamastercontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "area_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    }
                                },
                                "required": [
                                    "area_name"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/area-masters/{id}": {
            "delete": {
                "tags": [
                    "Area Masters"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_areamastercontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Area Masters"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_areamastercontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Area Masters"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_areamastercontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "area_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/asset-management/assets": {
            "get": {
                "tags": [
                    "Asset Management"
                ],
                "summary": "Index",
                "description": "GET /api/asset-management/assets GET /api/franchise/asset-management/assets\n\n**Access:** JWT required",
                "operationId": "get_assetmanagementcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Asset Management"
                ],
                "summary": "Store",
                "description": "POST /api/asset-management/assets POST /api/franchise/asset-management/assets\n\n**Access:** JWT required",
                "operationId": "post_assetmanagementcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "asset_code": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: string, max:255"
                                    },
                                    "product_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "model_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "model_number": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    },
                                    "description": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "specifications": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "monthly_rent": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "security_deposit": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "available",
                                            "deployed",
                                            "idle",
                                            "maintenance",
                                            "retired"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:available,deployed,idle,maintenance,retired"
                                    },
                                    "current_location": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "current_customer": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "last_service_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/asset-management/assets/{id}": {
            "delete": {
                "tags": [
                    "Asset Management"
                ],
                "summary": "Destroy",
                "description": "DELETE /api/asset-management/assets/{id} DELETE /api/franchise/asset-management/assets/{id}\n\n**Access:** JWT required",
                "operationId": "delete_assetmanagementcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Asset Management"
                ],
                "summary": "Show",
                "description": "GET /api/asset-management/assets/{id} GET /api/franchise/asset-management/assets/{id}\n\n**Access:** JWT required",
                "operationId": "get_assetmanagementcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Asset Management"
                ],
                "summary": "Update",
                "description": "PUT /api/asset-management/assets/{id} PUT /api/franchise/asset-management/assets/{id}\n\n**Access:** JWT required",
                "operationId": "put_assetmanagementcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "asset_code": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: string, max:255"
                                    },
                                    "product_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "model_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "model_number": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    },
                                    "description": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "specifications": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "monthly_rent": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "security_deposit": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "available",
                                            "deployed",
                                            "idle",
                                            "maintenance",
                                            "retired"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:available,deployed,idle,maintenance,retired"
                                    },
                                    "current_location": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "current_customer": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "last_service_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/asset-management/dashboard": {
            "get": {
                "tags": [
                    "Asset Management"
                ],
                "summary": "Dashboard",
                "description": "GET /api/asset-management/dashboard GET /api/franchise/asset-management/dashboard/summary\n\n**Access:** JWT required",
                "operationId": "get_assetmanagementcontroller_dashboard",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/assign-task": {
            "post": {
                "tags": [
                    "Assign Task"
                ],
                "summary": "Assign",
                "description": "POST /api/tasks/assign \u2014 admin/franchise assigns task to technician (e.g. tech12@test.com).\n\n**Access:** JWT required",
                "operationId": "post_fullfunctionalitytaskcontroller_assign",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/assignTask": {
            "post": {
                "tags": [
                    "Assigntask"
                ],
                "summary": "Assign",
                "description": "POST /api/tasks/assign \u2014 admin/franchise assigns task to technician (e.g. tech12@test.com).\n\n**Access:** JWT required",
                "operationId": "post_fullfunctionalitytaskcontroller_assign",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/assignTechnician": {
            "post": {
                "tags": [
                    "Assigntechnician"
                ],
                "summary": "Assign Technician",
                "description": "POST /api/assignTechnician\n\n**Access:** JWT required",
                "operationId": "post_complaintcontroller_assigntechnician",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "complaint_id": {
                                        "type": "string",
                                        "description": "Validation: required, exists:complaint_registers,id"
                                    },
                                    "technician_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer"
                                    },
                                    "inventories_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "inventory_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "customer_product_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    }
                                },
                                "required": [
                                    "complaint_id",
                                    "technician_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/assignedComplaints": {
            "get": {
                "tags": [
                    "Assignedcomplaints"
                ],
                "summary": "Index",
                "description": "GET /api/assignedComplaints \u2014 complaints with a technician assigned (franchise/admin scope).\n\n**Access:** JWT required",
                "operationId": "get_complaintcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/assignedComplaints/{id}": {
            "get": {
                "tags": [
                    "Assignedcomplaints"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_complaintcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/bank-masters": {
            "get": {
                "tags": [
                    "Bank Masters"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required",
                "operationId": "get_bankmastercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Bank Masters"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required",
                "operationId": "post_bankmastercontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "bank_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "branch": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "account_no": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "description": "Validation: required, string, max:50"
                                    },
                                    "ifsc_code": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "active",
                                            "inactive"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    }
                                },
                                "required": [
                                    "bank_name",
                                    "account_no"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/bank-masters/{id}": {
            "delete": {
                "tags": [
                    "Bank Masters"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_bankmastercontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Bank Masters"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_bankmastercontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Bank Masters"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_bankmastercontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "bank_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "branch": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "account_no": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "description": "Validation: required, string, max:50"
                                    },
                                    "ifsc_code": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "active",
                                            "inactive"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/bill-of-supplies": {
            "get": {
                "tags": [
                    "Bill Of Supplies"
                ],
                "summary": "List bill of supply vouchers (franchise/admin)",
                "description": "Voucher entry list. Search matches voucher id/type plus customer or account master name. `overdue=1` returns pending vouchers with date before today.",
                "operationId": "get_billofsupplycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Voucher id/type, customer name, account name/code/phone"
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "paid",
                                "pending",
                                "overdue"
                            ]
                        },
                        "description": "overdue = pending vouchers with date < today"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "overdue",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        },
                        "description": "When 1: pending vouchers with date < today"
                    },
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "account_master_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Bill of supply vouchers",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/BillOfSupplyItem"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Bill Of Supplies"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required",
                "operationId": "post_billofsupplycontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "voucher_id": {
                                        "type": "string",
                                        "description": "Validation: required, string, unique:bill_of_supplies,voucher_id"
                                    },
                                    "type": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    },
                                    "amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "description": "Validation: required, numeric, min:0"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "paid",
                                            "pending",
                                            "overdue"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Validation: required, date"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "voucher_id",
                                    "type",
                                    "amount",
                                    "date",
                                    "franchise_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/bill-of-supplies/summary": {
            "get": {
                "tags": [
                    "Bill Of Supplies"
                ],
                "summary": "Bill of supply summary cards",
                "description": "Totals for billed, pending, overdue (derived), and collected amounts. Pass `overdue=1` to scope stats to overdue pending vouchers only.",
                "operationId": "get_billofsupplycontroller_summary",
                "parameters": [
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "overdue",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "account_master_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Summary totals",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BillOfSupplySummary"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/bill-of-supplies/{id}": {
            "delete": {
                "tags": [
                    "Bill Of Supplies"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_billofsupplycontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Bill Of Supplies"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_billofsupplycontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Bill Of Supplies"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_billofsupplycontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "voucher_id": {
                                        "type": "string",
                                        "description": "Validation: required, string, unique:bill_of_supplies,voucher_id,"
                                    },
                                    "type": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    },
                                    "amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "description": "Validation: required, numeric, min:0"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "paid",
                                            "pending",
                                            "overdue"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Validation: required, date"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/billing/invoices": {
            "get": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Invoices Index",
                "description": "GET /api/billing/invoices Filters: from, to, invoice_number, customer_id, status, search.\n\n**Access:** JWT required, franchise",
                "operationId": "get_billingcontroller_invoicesindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Invoices Store",
                "description": "POST /api/billing/invoices Body: - customer_id - date - contract_end (optional) - bill_type (optional: sales|amc|warranty) - remarks (optional) - items: [{ item_type: product|amc, product_id?, amc_plan_id?, qty, unit_price }] - payment_method (optional: cash|upi) + payment_amount (optional)\n\n**Access:** JWT required, franchise",
                "operationId": "post_billingcontroller_invoicesstore",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "invoice_number": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "code": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer"
                                    },
                                    "company_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "contact": {
                                        "type": "string",
                                        "maxLength": 20,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:20"
                                    },
                                    "address": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:2000"
                                    },
                                    "customer_address": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:2000"
                                    },
                                    "gst_number": {
                                        "type": "string",
                                        "maxLength": 20,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:20"
                                    },
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Validation: required, date"
                                    },
                                    "contract_start": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "contract_end": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "contract_form": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    },
                                    "number_of_services": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    },
                                    "scheduled_service_visits": {
                                        "type": "array",
                                        "items": {
                                            "type": "object"
                                        },
                                        "nullable": true,
                                        "description": "Validation: nullable, array"
                                    },
                                    "bill_type": {
                                        "type": "string",
                                        "enum": [
                                            "amc",
                                            "warranty",
                                            "sales",
                                            "rental"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:amc,warranty,sales,rental"
                                    },
                                    "status": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "item_type": {
                                                    "type": "string",
                                                    "enum": [
                                                        "product",
                                                        "amc",
                                                        "rental",
                                                        "service",
                                                        "part"
                                                    ],
                                                    "description": "Validation: required, in:product,amc,rental,service,part"
                                                },
                                                "product_id": {
                                                    "type": "integer",
                                                    "nullable": true,
                                                    "description": "Validation: nullable, integer, exists:products,id"
                                                },
                                                "amc_plan_id": {
                                                    "type": "integer",
                                                    "nullable": true,
                                                    "description": "Validation: nullable, integer, exists:amc_plans,id"
                                                },
                                                "rental_product_id": {
                                                    "type": "integer",
                                                    "nullable": true,
                                                    "description": "Validation: nullable, integer, exists:rental_products,id"
                                                },
                                                "rental_plan_id": {
                                                    "type": "integer",
                                                    "nullable": true,
                                                    "description": "Validation: nullable, integer, exists:rental_plans,id"
                                                },
                                                "customer_product_id": {
                                                    "type": "integer",
                                                    "nullable": true,
                                                    "description": "Validation: nullable, integer, exists:customer_products,id"
                                                },
                                                "item_name": {
                                                    "type": "string",
                                                    "maxLength": 255,
                                                    "nullable": true,
                                                    "description": "Validation: nullable, string, max:255"
                                                },
                                                "qty": {
                                                    "type": "integer",
                                                    "minimum": 1,
                                                    "nullable": true,
                                                    "description": "Validation: nullable, integer, min:1"
                                                },
                                                "unit_price": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "nullable": true,
                                                    "description": "Validation: nullable, numeric, min:0"
                                                }
                                            }
                                        },
                                        "description": "Validation: required, array, min:1"
                                    },
                                    "gst_rate": {
                                        "type": "number",
                                        "minimum": 0,
                                        "maximum": 1,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0, max:1"
                                    },
                                    "payment_amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "payment_remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                },
                                "required": [
                                    "customer_id",
                                    "date",
                                    "items"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/billing/invoices/{id}": {
            "get": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Invoices Show",
                "description": "GET /api/billing/invoices/{id}\n\n**Access:** JWT required, franchise",
                "operationId": "get_billingcontroller_invoicesshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/cash-management/collections": {
            "get": {
                "tags": [
                    "Cash Management"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required",
                "operationId": "get_cashmanagementcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Cash Management"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required",
                "operationId": "post_cashmanagementcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "technician_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:technicians,id"
                                    },
                                    "total_collected": {
                                        "type": "number",
                                        "minimum": 0,
                                        "description": "Validation: required, numeric, min:0"
                                    },
                                    "pending_settlement": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "technician_id",
                                    "total_collected",
                                    "franchise_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/cash-management/collections/{id}": {
            "get": {
                "tags": [
                    "Cash Management"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_cashmanagementcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/cash-management/dashboard": {
            "get": {
                "tags": [
                    "Cash Management"
                ],
                "summary": "Dashboard",
                "description": "**Access:** JWT required",
                "operationId": "get_cashmanagementcontroller_dashboard",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/cash-management/settle": {
            "post": {
                "tags": [
                    "Cash Management"
                ],
                "summary": "Settle",
                "description": "**Access:** JWT required",
                "operationId": "post_cashmanagementcontroller_settle",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "technician_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:technicians,id"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:franchises,id"
                                    },
                                    "settlement_amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "description": "Validation: required, numeric, min:0"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                },
                                "required": [
                                    "technician_id",
                                    "franchise_id",
                                    "settlement_amount"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/cash-management/settlements/{id}/bank-deposit": {
            "put": {
                "tags": [
                    "Cash Management"
                ],
                "summary": "Bank Deposit",
                "description": "**Access:** JWT required",
                "operationId": "put_cashmanagementcontroller_bankdeposit",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "bank_deposit_amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "description": "Validation: required, numeric, min:0"
                                    },
                                    "bank_reference_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                },
                                "required": [
                                    "bank_deposit_amount"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/cash-management/settlements/{id}/confirm": {
            "put": {
                "tags": [
                    "Cash Management"
                ],
                "summary": "Confirm Settlement",
                "description": "**Access:** JWT required",
                "operationId": "put_cashmanagementcontroller_confirmsettlement",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/check-in-checkout-images": {
            "get": {
                "tags": [
                    "Check In Checkout Images"
                ],
                "summary": "Index",
                "description": "GET /api/check-in-checkout-images List check-in/checkout image records (scoped by user role). Query: full_functionality_task_id, page, per_page\n\n**Access:** JWT required",
                "operationId": "get_checkincheckoutimagecontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Check In Checkout Images"
                ],
                "summary": "Store",
                "description": "POST /api/check-in-checkout-images Create a check-in/check-out image record for a task. Supports either uploaded files or plain string paths/URLs.\n\n**Access:** JWT required",
                "operationId": "post_checkincheckoutimagecontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "full_functionality_task_id": {
                                        "type": "string",
                                        "description": "Validation: required, exists:full_functionality_tasks,id"
                                    },
                                    "check_in_at": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "checkout_at": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    }
                                },
                                "required": [
                                    "full_functionality_task_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/check-in-checkout-images/{id}": {
            "delete": {
                "tags": [
                    "Check In Checkout Images"
                ],
                "summary": "Destroy",
                "description": "DELETE /api/check-in-checkout-images/{id} Deletes row and associated files (public disk). Authorization: assigned technician for the linked task (admin also allowed).\n\n**Access:** JWT required",
                "operationId": "delete_checkincheckoutimagecontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/check-in-checkout-images/{id}/file": {
            "get": {
                "tags": [
                    "Check In Checkout Images"
                ],
                "summary": "File",
                "description": "GET /api/check-in-checkout-images/{id}/file?field=check_in|checkout Returns raw image bytes (authenticated). Authorization: assigned technician for the linked task (admin is also allowed).\n\n**Access:** JWT required",
                "operationId": "get_checkincheckoutimagecontroller_file",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/city-masters": {
            "get": {
                "tags": [
                    "City Masters"
                ],
                "summary": "City master list",
                "description": "**Access:** JWT required",
                "operationId": "get_citymastercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "City Masters"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required",
                "operationId": "post_citymastercontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "city_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    }
                                },
                                "required": [
                                    "city_name"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/city-masters/{id}": {
            "delete": {
                "tags": [
                    "City Masters"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_citymastercontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "City Masters"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_citymastercontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "City Masters"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_citymastercontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "city_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/complaint-type-masters": {
            "get": {
                "tags": [
                    "Complaint Type Masters"
                ],
                "summary": "Complaint type master list",
                "description": "**Access:** JWT required",
                "operationId": "get_complainttypemastercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Complaint Type Masters"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required",
                "operationId": "post_complainttypemastercontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "complaint_type_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    }
                                },
                                "required": [
                                    "complaint_type_name"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/complaint-type-masters/{id}": {
            "delete": {
                "tags": [
                    "Complaint Type Masters"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_complainttypemastercontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Complaint Type Masters"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_complainttypemastercontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Complaint Type Masters"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_complainttypemastercontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "complaint_type_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/complaintRegisters": {
            "post": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Register complaint (admin, franchise, customer)",
                "description": "Admin/franchise: send account_master_id or customer_id, optional assigned_to (or technician_id) to assign in one call, remarks alias for complaint_details, warranty_status (in/out of warranty), structured address fields. Customer JWT creates for self.",
                "operationId": "post_complaintregistercontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ComplaintCreateRequest"
                            }
                        }
                    }
                }
            }
        },
        "/api/complaintRegisters/export": {
            "get": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Export complaint registers (franchise/admin)",
                "description": "Same as admin export; franchise JWT is scoped to own branch. Formats: `xlsx`, `pdf`, `html`.",
                "operationId": "get_complaintregistercontroller_export",
                "parameters": [
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "complaint_type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "dashboard_bucket",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "open",
                                "in_progress",
                                "assigned",
                                "resolved",
                                "awaiting_parts"
                            ]
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "xlsx",
                                "pdf",
                                "html"
                            ]
                        },
                        "description": "Export file type. Returns `Content-Disposition: attachment` with a timestamped filename."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "File download (filtered export)",
                        "content": {
                            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            },
                            "application/pdf": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            },
                            "text/html": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "headers": {
                            "Content-Disposition": {
                                "description": "attachment; filename=\"<module>-YYYYMMDD-HHMMSS.<format>\"",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Invalid format or filter value",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/complaintRegisters/{id}/customer-status": {
            "put": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Update Customer Status",
                "description": "PUT /api/complaintRegisters/{id}/customer-status Franchise/admin sets customer-visible complaint journey: complaint_received -> technician_assigned -> visit_resolution.\n\n**Access:** JWT required",
                "operationId": "put_complaintregistercontroller_updatecustomerstatus",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "customer_status": {
                                        "type": "string",
                                        "description": "Validation: required, string, in:"
                                    },
                                    "assigned_to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, exists:technicians,id"
                                    },
                                    "inventories_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "inventory_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "customer_product_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "force_complete": {
                                        "type": "boolean",
                                        "description": "Validation: boolean"
                                    },
                                    "override_resolution": {
                                        "type": "boolean",
                                        "description": "Validation: boolean"
                                    },
                                    "override_reason": {
                                        "type": "string",
                                        "minLength": 10,
                                        "maxLength": 500,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, min:10, max:500"
                                    }
                                },
                                "required": [
                                    "customer_status"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/complaintRegisters/{id}/print": {
            "get": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Print single complaint work order",
                "description": "Franchise/admin (and other roles with complaint access). Same formats as admin print endpoint.",
                "operationId": "get_complaintregistercontroller_print",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "html",
                                "pdf"
                            ],
                            "default": "pdf"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Printable invoice document",
                        "content": {
                            "application/pdf": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            },
                            "text/html": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Invalid format",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/complaints": {
            "post": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Register complaint / service request",
                "description": "Customer or franchise registers a complaint. Franchise/admin: send `account_master_id` from GET /api/account-masters \u2014 `address` is optional (backend fills from account master / linked customer). UI may instead send structured address fields or a full `address` line from the prefill form. Persists GPS snapshot on `complaint_registers` when location fields are sent.",
                "operationId": "post_complaintregistercontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ComplaintCreateRequest"
                            }
                        }
                    }
                }
            }
        },
        "/api/complaints/dashboard/open-count": {
            "get": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Available technicians count (legacy dashboard tile)",
                "description": "Counts **online technicians not busy on active complaints** \u2014 not open complaint count. Use `GET /api/admin/complaints/dashboard/summary` for complaint cards.",
                "operationId": "get_complaintregistercontroller_opencount",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/complaints/dashboard/summary": {
            "get": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Franchise dashboard revenue summary",
                "description": "Franchise-only payment revenue total (not complaint counts).",
                "operationId": "get_complaintregistercontroller_dashboardsummary",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/complaints/{id}/customer-status": {
            "put": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Update Customer Status",
                "description": "PUT /api/complaintRegisters/{id}/customer-status Franchise/admin sets customer-visible complaint journey: complaint_received -> technician_assigned -> visit_resolution.\n\n**Access:** JWT required",
                "operationId": "put_complaintregistercontroller_updatecustomerstatus",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "customer_status": {
                                        "type": "string",
                                        "description": "Validation: required, string, in:"
                                    },
                                    "assigned_to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, exists:technicians,id"
                                    },
                                    "inventories_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "inventory_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "customer_product_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "force_complete": {
                                        "type": "boolean",
                                        "description": "Validation: boolean"
                                    },
                                    "override_resolution": {
                                        "type": "boolean",
                                        "description": "Validation: boolean"
                                    },
                                    "override_reason": {
                                        "type": "string",
                                        "minLength": 10,
                                        "maxLength": 500,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, min:10, max:500"
                                    }
                                },
                                "required": [
                                    "customer_status"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/createAmcPlan": {
            "post": {
                "tags": [
                    "Createamcplan"
                ],
                "summary": "Admin Store",
                "description": "Alias for admin panel \u2014 same as store().\n\n**Access:** JWT required, admin",
                "operationId": "post_amcplancontroller_adminstore",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "description": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "features": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "maxLength": 500,
                                            "nullable": true,
                                            "description": "Validation: nullable, string, max:500"
                                        },
                                        "nullable": true,
                                        "description": "Validation: nullable, array"
                                    },
                                    "price": {
                                        "type": "number",
                                        "minimum": 0,
                                        "description": "Validation: required, numeric, min:0"
                                    },
                                    "amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "duration_months": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:1"
                                    },
                                    "free_services_count": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 365,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0, max:365"
                                    },
                                    "plan_type": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:products,id"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    },
                                    "customer_product_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    }
                                },
                                "required": [
                                    "name",
                                    "price",
                                    "product_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/createFranchiseSmsTemplate": {
            "post": {
                "tags": [
                    "Createfranchisesmstemplate"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_franchisesmstemplatecontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    },
                                    "template_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "message_content": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 1000,
                                        "description": "Validation: required, string, min:1, max:1000"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "automated",
                                            "transactional",
                                            "promotional"
                                        ],
                                        "description": "Validation: required"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "active",
                                            "inactive"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "sent_count": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    }
                                },
                                "required": [
                                    "template_name",
                                    "message_content",
                                    "type"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/createUsersForFranchise": {
            "post": {
                "tags": [
                    "Createusersforfranchise"
                ],
                "summary": "Create Users For Franchise",
                "description": "POST /api/createUsersForFranchise Admin creates franchise login user(s) and links the first to franchises.user_id when unset. Body: franchise_id, users[] (email, type=franchise, first_name/last_name or name, optional password, phone_number, username).\n\n**Access:** JWT required, admin",
                "operationId": "post_authcontroller_createusersforfranchise",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:franchises,id"
                                    },
                                    "users": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "email": {
                                                    "type": "string",
                                                    "description": "Validation: unique:users,email"
                                                },
                                                "type": {
                                                    "type": "string",
                                                    "enum": [
                                                        "franchise"
                                                    ],
                                                    "description": "Validation: required, string, in:franchise"
                                                },
                                                "password": {
                                                    "type": "string",
                                                    "minLength": 6,
                                                    "description": "Validation: string, min:6"
                                                },
                                                "username": {
                                                    "type": "string",
                                                    "maxLength": 50,
                                                    "nullable": true,
                                                    "description": "Validation: nullable, string, max:50, distinct, unique:users,username"
                                                }
                                            }
                                        },
                                        "description": "Validation: required, array, min:1"
                                    }
                                },
                                "required": [
                                    "franchise_id",
                                    "users"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/customer-app/hero-images": {
            "get": {
                "tags": [
                    "Customer App"
                ],
                "summary": "List Hero Images",
                "description": "**Access:** JWT required",
                "operationId": "get_customerappcontroller_listheroimages",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Customer App"
                ],
                "summary": "Store Hero Image",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_customerappcontroller_storeheroimage",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "title": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "subtitle": {
                                        "type": "string",
                                        "maxLength": 500,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:500"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    },
                                    "isActive": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    },
                                    "is_active": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    }
                                },
                                "required": [
                                    "title",
                                    "url"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/customer-app/hero-images/reorder": {
            "post": {
                "tags": [
                    "Customer App"
                ],
                "summary": "Reorder Hero Images",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_customerappcontroller_reorderheroimages",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "order": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "description": "Validation: required, integer, distinct"
                                        },
                                        "description": "Validation: required, array, min:1"
                                    }
                                },
                                "required": [
                                    "order"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/customer-app/hero-images/{id}": {
            "delete": {
                "tags": [
                    "Customer App"
                ],
                "summary": "Delete Hero Image",
                "description": "**Access:** JWT required, admin",
                "operationId": "delete_customerappcontroller_deleteheroimage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Customer App"
                ],
                "summary": "Update Hero Image",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_customerappcontroller_updateheroimage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "title": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "subtitle": {
                                        "type": "string",
                                        "maxLength": 500,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:500"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    },
                                    "isActive": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    },
                                    "is_active": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/customer-app/hero-images/{id}/toggle": {
            "post": {
                "tags": [
                    "Customer App"
                ],
                "summary": "Toggle Hero Image",
                "description": "**Access:** JWT required, admin",
                "operationId": "post_customerappcontroller_toggleheroimage",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/customer-inventories": {
            "get": {
                "tags": [
                    "Customer Inventories"
                ],
                "summary": "Customer Inventories",
                "description": "GET /api/customer/inventories \u2014 active product stock for customer app (branch first, then network).\n\n**Access:** JWT required",
                "operationId": "get_inventorycontroller_customerinventories",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer-login": {
            "post": {
                "tags": [
                    "Customer Login"
                ],
                "summary": "Customer Login",
                "description": "POST /api/customer/login \u2014 email + password only (+ optional franchise_id). No type field.",
                "operationId": "post_authcontroller_customerlogin",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Validation: required, email"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "email",
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/api/customer-notifications": {
            "get": {
                "tags": [
                    "Customer Notifications"
                ],
                "summary": "Customer Index",
                "description": "**Access:** JWT required",
                "operationId": "get_notificationcontroller_customerindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Customer Notifications"
                ],
                "summary": "Customer Store",
                "description": "**Access:** JWT required",
                "operationId": "post_notificationcontroller_customerstore",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/customer-notifications/mark-all-read": {
            "post": {
                "tags": [
                    "Customer Notifications"
                ],
                "summary": "Customer Mark All Read",
                "description": "POST /api/customer-notifications/mark-all-read\n\n**Access:** JWT required",
                "operationId": "post_notificationcontroller_customermarkallread",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/customer-notifications/{id}": {
            "get": {
                "tags": [
                    "Customer Notifications"
                ],
                "summary": "Customer Show",
                "description": "**Access:** JWT required",
                "operationId": "get_notificationcontroller_customershow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer-notifications/{id}/mark-read": {
            "post": {
                "tags": [
                    "Customer Notifications"
                ],
                "summary": "Customer Mark Read",
                "description": "**Access:** JWT required",
                "operationId": "post_notificationcontroller_customermarkread",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/customer-type-masters": {
            "get": {
                "tags": [
                    "Customer Type Masters"
                ],
                "summary": "Customer type master list",
                "description": "**Access:** JWT required",
                "operationId": "get_customertypemastercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Customer Type Masters"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required",
                "operationId": "post_customertypemastercontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "type_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    }
                                },
                                "required": [
                                    "type_name"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/customer-type-masters/{id}": {
            "delete": {
                "tags": [
                    "Customer Type Masters"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_customertypemastercontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Customer Type Masters"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_customertypemastercontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Customer Type Masters"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_customertypemastercontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "type_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/customer/amc-plans": {
            "get": {
                "tags": [
                    "Customer App \u2014 Amc Plans"
                ],
                "summary": "List AMC plans (customer app)",
                "description": "**Access:** JWT required",
                "operationId": "get_amcplancontroller_userindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/amc-plans/purchased": {
            "get": {
                "tags": [
                    "Customer App \u2014 Amc Plans"
                ],
                "summary": "User Purchased",
                "description": "**Access:** JWT required",
                "operationId": "get_amcplancontroller_userpurchased",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/amc-plans/{id}/purchase": {
            "post": {
                "tags": [
                    "Customer App \u2014 Amc Plans"
                ],
                "summary": "Purchase AMC plan for a device",
                "description": "**Access:** JWT required",
                "operationId": "post_amcplancontroller_purchase",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "customer_product_id": {
                                        "type": "integer",
                                        "example": 8
                                    }
                                },
                                "required": [
                                    "customer_product_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/customer/amc-service-requests": {
            "post": {
                "tags": [
                    "Customer App \u2014 Amc Service Requests"
                ],
                "summary": "Book AMC free service",
                "description": "Requires active AMC subscription on the selected `customer_product_id`.",
                "operationId": "post_amcservicebookingcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "customer_product_id": {
                                        "type": "integer",
                                        "example": 8
                                    },
                                    "complaint_title": {
                                        "type": "string"
                                    },
                                    "complaint_details": {
                                        "type": "string"
                                    },
                                    "scheduled_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true
                                    }
                                },
                                "required": [
                                    "customer_product_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/customer/amc-subscriptions": {
            "get": {
                "tags": [
                    "Customer App \u2014 Amc Subscriptions"
                ],
                "summary": "Customer AMC subscriptions",
                "description": "Use `customer_product_id` and `active_only=1` to verify before booking AMC service.",
                "operationId": "get_productamcsubscriptioncontroller_customerindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "customer_product_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "active_only",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/amc-subscriptions/{id}/renew": {
            "post": {
                "tags": [
                    "Customer App \u2014 Amc Subscriptions"
                ],
                "summary": "Request Renewal",
                "description": "POST /api/customer/amc-subscriptions/{id}/renew \u2014 request renewal when expired/expiring.\n\n**Access:** JWT required",
                "operationId": "post_productamcsubscriptioncontroller_requestrenewal",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "customer_notes": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:2000"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/customer/complaints/{id}/cancel": {
            "post": {
                "tags": [
                    "Customer App \u2014 Complaints"
                ],
                "summary": "Cancel Complaint",
                "description": "POST /api/customer/complaints/{id}/cancel Cancel when visit is complaint/task-backed (no service_requests row required).\n\n**Access:** JWT required",
                "operationId": "post_customervisitcontroller_cancelcomplaint",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/customer/complaints/{id}/cancellation": {
            "get": {
                "tags": [
                    "Customer App \u2014 Complaints"
                ],
                "summary": "Cancellation Preview",
                "description": "GET /api/customer/complaints/{id}/cancellation Preview cancel/reschedule eligibility (same rules as ServiceRequestCancellation).\n\n**Access:** JWT required",
                "operationId": "get_customervisitcontroller_cancellationpreview",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/getAllinventories": {
            "get": {
                "tags": [
                    "Customer App \u2014 Getallinventories"
                ],
                "summary": "Customer Inventories",
                "description": "GET /api/customer/inventories \u2014 active product stock for customer app (branch first, then network).\n\n**Access:** JWT required",
                "operationId": "get_inventorycontroller_customerinventories",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/installation-pickup-tasks": {
            "get": {
                "tags": [
                    "Customer App \u2014 Installation Pickup Tasks"
                ],
                "summary": "Customer Index",
                "description": "**Access:** JWT required",
                "operationId": "get_installationpickuptaskcontroller_customerindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/inventories": {
            "get": {
                "tags": [
                    "Customer App \u2014 Inventories"
                ],
                "summary": "Customer Inventories",
                "description": "GET /api/customer/inventories \u2014 active product stock for customer app (branch first, then network).\n\n**Access:** JWT required",
                "operationId": "get_inventorycontroller_customerinventories",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/link-profile": {
            "post": {
                "tags": [
                    "Customer App \u2014 Link Profile"
                ],
                "summary": "Link Customer Profile",
                "description": "POST /api/customer/link-profile Links the logged-in customer user to a customers row (JWT required).\n\n**Access:** JWT required",
                "operationId": "post_authcontroller_linkcustomerprofile",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: integer, exists:franchises,id"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/customer/login": {
            "post": {
                "tags": [
                    "Customer App \u2014 Login"
                ],
                "summary": "Customer login",
                "description": "Returns JWT `access_token` and `refresh_token` for **customer accounts only**.",
                "operationId": "post_authcontroller_customerlogin",
                "parameters": [],
                "security": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "customer@example.com"
                                    },
                                    "password": {
                                        "type": "string",
                                        "example": "your_password"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "Technician login alternative to email"
                                    }
                                },
                                "required": [
                                    "email",
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Login successful",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/JwtAuthResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid credentials",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/customer/product-enquiries": {
            "get": {
                "tags": [
                    "Customer App \u2014 Product Enquiries"
                ],
                "summary": "User Index",
                "description": "**Access:** JWT required",
                "operationId": "get_productenquirycontroller_userindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Customer App \u2014 Product Enquiries"
                ],
                "summary": "Store",
                "description": "POST /api/customer/product-enquiries \u2014 customer submits for self. POST /api/franchise/product-enquiries \u2014 franchise submits for a customer (customer_id required). POST /api/product-enquiries \u2014 same store handler for customer, franchise, or admin.\n\n**Access:** JWT required",
                "operationId": "post_productenquirycontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "product_category": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "product_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "subject": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "source": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50"
                                    },
                                    "details": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/customer/products": {
            "get": {
                "tags": [
                    "Customer App \u2014 Products"
                ],
                "summary": "Customer Catalog",
                "description": "GET /api/customer/products \u2014 customer app catalog (active products for customer's franchise).\n\n**Access:** JWT required",
                "operationId": "get_productscontroller_customercatalog",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/products/owned": {
            "get": {
                "tags": [
                    "Customer App \u2014 Products"
                ],
                "summary": "Customer Owned",
                "description": "GET /api/customer/products/owned\n\n**Access:** JWT required",
                "operationId": "get_customerproductcontroller_customerowned",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/products/{customerProductId}/amc-plans": {
            "get": {
                "tags": [
                    "Customer App \u2014 Products"
                ],
                "summary": "Amc Catalog For Product",
                "description": "GET /api/customer/products/{customerProductId}/amc-plans \u2014 catalog AMC for this product.\n\n**Access:** JWT required",
                "operationId": "get_customerproductcontroller_amccatalogforproduct",
                "parameters": [
                    {
                        "name": "customerProductId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/products/{customerProductId}/amc-subscriptions": {
            "get": {
                "tags": [
                    "Customer App \u2014 Products"
                ],
                "summary": "Amc Subscriptions For Product",
                "description": "GET /api/customer/products/{customerProductId}/amc-subscriptions\n\n**Access:** JWT required",
                "operationId": "get_customerproductcontroller_amcsubscriptionsforproduct",
                "parameters": [
                    {
                        "name": "customerProductId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/products/{customerProductId}/support-options": {
            "get": {
                "tags": [
                    "Customer App \u2014 Products"
                ],
                "summary": "Support Options For Product",
                "description": "GET /api/customer/products/{customerProductId}/support-options\n\n**Access:** JWT required",
                "operationId": "get_customerproductcontroller_supportoptionsforproduct",
                "parameters": [
                    {
                        "name": "customerProductId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/register": {
            "post": {
                "tags": [
                    "Customer App \u2014 Register"
                ],
                "summary": "Customer Register",
                "description": "POST /api/customer/register \u2014 same as POST /api/register (no type field).",
                "operationId": "post_authcontroller_customerregister",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "Validation: The email has already been taken."
                                    },
                                    "username": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50, unique:users,username"
                                    },
                                    "password": {
                                        "type": "string",
                                        "minLength": 6,
                                        "description": "Validation: required, string, min:6"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/api/customer/rental-plans": {
            "get": {
                "tags": [
                    "Customer App \u2014 Rental Plans"
                ],
                "summary": "Customer Index",
                "description": "GET /api/customer/rental-plans\n\n**Access:** JWT required",
                "operationId": "get_rentalplancontroller_customerindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/rental-products": {
            "get": {
                "tags": [
                    "Customer App \u2014 Rental Products"
                ],
                "summary": "Customer Index",
                "description": "GET /api/customer/rental-products\n\n**Access:** JWT required",
                "operationId": "get_rentalproductcontroller_customerindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/rental-subscriptions": {
            "get": {
                "tags": [
                    "Customer App \u2014 Rental Subscriptions"
                ],
                "summary": "Customer Index",
                "description": "GET /api/customer/rental-subscriptions\n\n**Access:** JWT required",
                "operationId": "get_subscriptioncontroller_customerindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/service-requests": {
            "get": {
                "tags": [
                    "Customer App \u2014 Service Requests"
                ],
                "summary": "Customer Index",
                "description": "GET /api/customer/service-requests\n\n**Access:** JWT required",
                "operationId": "get_servicerequestcontroller_customerindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Customer App \u2014 Service Requests"
                ],
                "summary": "Book customer service request",
                "description": "POST /api/customer/service-requests POST /api/service-requests (alias)\n\n**Access:** JWT required",
                "operationId": "post_servicerequestcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ComplaintCreateRequest"
                            }
                        }
                    }
                }
            }
        },
        "/api/customer/service-requests/{id}/cancel": {
            "patch": {
                "tags": [
                    "Customer App \u2014 Service Requests"
                ],
                "summary": "Customer Cancel",
                "description": "POST /api/customer/service-requests/{id}/cancel PATCH /api/customer/service-requests/{id}/cancel\n\n**Access:** JWT required",
                "operationId": "patch_servicerequestcontroller_customercancel",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Customer App \u2014 Service Requests"
                ],
                "summary": "Customer Cancel",
                "description": "POST /api/customer/service-requests/{id}/cancel PATCH /api/customer/service-requests/{id}/cancel\n\n**Access:** JWT required",
                "operationId": "post_servicerequestcontroller_customercancel",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/customer/service-summary": {
            "get": {
                "tags": [
                    "Customer App \u2014 Service Summary"
                ],
                "summary": "Customer Summary",
                "description": "GET /api/customer/service-summary \u2014 next service + free AMC visits per product.\n\n**Access:** JWT required",
                "operationId": "get_servicerequestcontroller_customersummary",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/support-options": {
            "get": {
                "tags": [
                    "Customer App \u2014 Support Options"
                ],
                "summary": "Customer Support Options",
                "description": "Customer app dropdowns for request type + complaint categories. GET /api/customer/support-options\n\n**Access:** JWT required",
                "operationId": "get_lookupcontroller_customersupportoptions",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customer/tasks/{id}/cancel": {
            "post": {
                "tags": [
                    "Customer App \u2014 Tasks"
                ],
                "summary": "Cancel Task",
                "description": "POST /api/customer/tasks/{id}/cancel Cancel via technician task id (resolves linked complaint).\n\n**Access:** JWT required",
                "operationId": "post_customervisitcontroller_canceltask",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/customer/tasks/{id}/signature": {
            "post": {
                "tags": [
                    "Customer App \u2014 Tasks"
                ],
                "summary": "Store Customer Signature",
                "description": "POST /api/customer/tasks/{id}/signature Customer captures signature on their visit task (PNG/JPEG file or base64 data URI).\n\n**Access:** JWT required",
                "operationId": "post_fullfunctionalitytaskcontroller_storecustomersignature",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/customer/water-quality-reports": {
            "get": {
                "tags": [
                    "Customer App \u2014 Water Quality Reports"
                ],
                "summary": "Customer Index",
                "description": "GET /api/customer/water-quality-reports \u2014 latest reading per registered device.\n\n**Access:** JWT required",
                "operationId": "get_waterqualityreportcontroller_customerindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customerRegister": {
            "post": {
                "tags": [
                    "Customerregister"
                ],
                "summary": "Customer Register",
                "description": "POST /api/customer/register \u2014 same as POST /api/register (no type field).",
                "operationId": "post_authcontroller_customerregister",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "Validation: The email has already been taken."
                                    },
                                    "username": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50, unique:users,username"
                                    },
                                    "password": {
                                        "type": "string",
                                        "minLength": 6,
                                        "description": "Validation: required, string, min:6"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/api/customers": {
            "get": {
                "tags": [
                    "Customers"
                ],
                "summary": "Customer profile or franchise customer list",
                "description": "Customer JWT \u2192 own profile. Franchise/admin JWT \u2192 scoped list.",
                "operationId": "get_customerscontroller_listorprofile",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Customers"
                ],
                "summary": "Create customer (franchise)",
                "description": "Franchise-only. Creates customer + linked login user for the franchise branch. Omit `account_code` for auto-generation.",
                "operationId": "post_customerscontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CustomerCreateRequest"
                            }
                        }
                    }
                }
            }
        },
        "/api/customers/next-code": {
            "get": {
                "tags": [
                    "Customers"
                ],
                "summary": "Preview next customer account code",
                "description": "Franchise: uses logged-in branch. Admin: pass required `franchise_id`. Does not reserve the code until POST /api/customers.",
                "operationId": "get_customerscontroller_nextcode",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Required for admin JWT; ignored for franchise JWT"
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Next account code preview",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountMasterNextCodeResponse"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden role or franchise scope",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/customers/prefill": {
            "get": {
                "tags": [
                    "Customers"
                ],
                "summary": "Customer Prefill",
                "description": "**Access:** JWT required",
                "operationId": "get_customerscontroller_customerprefill",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customers/register": {
            "post": {
                "tags": [
                    "Customers"
                ],
                "summary": "Customer Register",
                "description": "POST /api/customer/register \u2014 same as POST /api/register (no type field).",
                "operationId": "post_authcontroller_customerregister",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "Validation: The email has already been taken."
                                    },
                                    "username": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50, unique:users,username"
                                    },
                                    "password": {
                                        "type": "string",
                                        "minLength": 6,
                                        "description": "Validation: required, string, min:6"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/api/customers/search": {
            "get": {
                "tags": [
                    "Customers"
                ],
                "summary": "Customer Search",
                "description": "**Access:** JWT required",
                "operationId": "get_customerscontroller_customersearch",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customers/{id}": {
            "get": {
                "tags": [
                    "Customers"
                ],
                "summary": "Show For Role",
                "description": "GET /api/customers/{id} Customer app: own profile only. Franchise/admin: franchise-scoped customer by id.\n\n**Access:** JWT required",
                "operationId": "get_customerscontroller_showforrole",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/customers/{id}/prefill": {
            "get": {
                "tags": [
                    "Customers"
                ],
                "summary": "Customer Prefill",
                "description": "**Access:** JWT required",
                "operationId": "get_customerscontroller_customerprefill",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/dashboard/getFranchise": {
            "get": {
                "tags": [
                    "Dashboard"
                ],
                "summary": "Get Franchise",
                "description": "GET /api/dashboard/getFranchise \u2014 alias for admin franchise list.\n\n**Access:** JWT required, admin",
                "operationId": "get_dashboardcontroller_getfranchise",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/date-wise-collections": {
            "get": {
                "tags": [
                    "Date Wise Collections"
                ],
                "summary": "Index",
                "description": "Franchise-only report list with filters + totals. Filters: from, to, complaint_status, technician_id, search.\n\n**Access:** JWT required, franchise",
                "operationId": "get_datewisecollectioncontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Date Wise Collections"
                ],
                "summary": "Store",
                "description": "Franchise-only create record.\n\n**Access:** JWT required, franchise",
                "operationId": "post_datewisecollectioncontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "technician_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:technicians,id"
                                    },
                                    "complaint_no": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "ref_no": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "complaint_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "complaint_close_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "code": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "company_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "service_type": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "part_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "qty": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    },
                                    "service_amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "discount_amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "part_amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "total_amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "complaint_status": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "collection_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/date-wise-collections/{id}": {
            "delete": {
                "tags": [
                    "Date Wise Collections"
                ],
                "summary": "Destroy",
                "description": "Franchise-only delete record (only own franchise).\n\n**Access:** JWT required, franchise",
                "operationId": "delete_datewisecollectioncontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Date Wise Collections"
                ],
                "summary": "Show",
                "description": "Franchise-only show one record (only own franchise).\n\n**Access:** JWT required, franchise",
                "operationId": "get_datewisecollectioncontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Date Wise Collections"
                ],
                "summary": "Update",
                "description": "Franchise-only update record (only own franchise).\n\n**Access:** JWT required, franchise",
                "operationId": "put_datewisecollectioncontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "technician_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:technicians,id"
                                    },
                                    "complaint_no": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "ref_no": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "complaint_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "complaint_close_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "code": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "company_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "service_type": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "part_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "qty": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    },
                                    "service_amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "discount_amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "part_amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "total_amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "complaint_status": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "collection_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/docs/assignment": {
            "get": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Task assignment API reference",
                "description": "Returns canonical assignment endpoint metadata. Use **POST /api/tasks/assign** for new integrations.",
                "responses": {
                    "200": {
                        "description": "Assignment endpoint documentation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/api/franchise-login": {
            "post": {
                "tags": [
                    "Franchise Login"
                ],
                "summary": "Franchise Login",
                "description": "POST /api/franchise/login \u2014 franchise accounts only; auto-resolves franchise from Bearer user.",
                "operationId": "post_authcontroller_franchiselogin",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Validation: required, email"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    }
                                },
                                "required": [
                                    "email",
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/api/franchise-orders": {
            "get": {
                "tags": [
                    "Franchise Orders"
                ],
                "summary": "Index",
                "description": "List orders. - Admin: all orders for their network (franchises.admin_id = admin id)\n\n**Access:** JWT required, admin",
                "operationId": "get_franchiseordercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Franchise Orders"
                ],
                "summary": "Store",
                "description": "Create an order (franchise only). If order_no not supplied, generated like ORD-AB12CD.\n\n**Access:** JWT required, franchise",
                "operationId": "post_franchiseordercontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "order_no": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50, unique:franchise_orders,order_no"
                                    },
                                    "items": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    },
                                    "amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "description": "Validation: required, numeric, min:0"
                                    },
                                    "order_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    }
                                },
                                "required": [
                                    "items",
                                    "amount"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise-orders/{id}": {
            "delete": {
                "tags": [
                    "Franchise Orders"
                ],
                "summary": "Destroy",
                "description": "Delete order (admin only).\n\n**Access:** JWT required, admin",
                "operationId": "delete_franchiseordercontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Franchise Orders"
                ],
                "summary": "Show",
                "description": "Show one order (admin/franchise scoped).\n\n**Access:** JWT required, admin",
                "operationId": "get_franchiseordercontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Franchise Orders"
                ],
                "summary": "Update",
                "description": "Update order. - Admin: can update status and other fields\n\n**Access:** JWT required, admin",
                "operationId": "put_franchiseordercontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "items": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "order_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise-sms-templates": {
            "get": {
                "tags": [
                    "Franchise Sms Templates"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required",
                "operationId": "get_franchisesmstemplatecontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Franchise Sms Templates"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required",
                "operationId": "post_franchisesmstemplatecontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    },
                                    "template_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "message_content": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 1000,
                                        "description": "Validation: required, string, min:1, max:1000"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "automated",
                                            "transactional",
                                            "promotional"
                                        ],
                                        "description": "Validation: required"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "active",
                                            "inactive"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "sent_count": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    }
                                },
                                "required": [
                                    "template_name",
                                    "message_content",
                                    "type"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise-sms-templates/{id}": {
            "delete": {
                "tags": [
                    "Franchise Sms Templates"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_franchisesmstemplatecontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Franchise Sms Templates"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_franchisesmstemplatecontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Franchise Sms Templates"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_franchisesmstemplatecontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    },
                                    "template_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "message_content": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 1000,
                                        "description": "Validation: required, string, min:1, max:1000"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "automated",
                                            "transactional",
                                            "promotional"
                                        ],
                                        "description": "Validation: required"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "active",
                                            "inactive"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "sent_count": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise-sms/logs": {
            "get": {
                "tags": [
                    "Franchise Sms"
                ],
                "summary": "Logs",
                "description": "**Access:** JWT required",
                "operationId": "get_franchisesmscontroller_logs",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise-sms/recipient-types": {
            "get": {
                "tags": [
                    "Franchise Sms"
                ],
                "summary": "Recipient Types",
                "description": "**Access:** JWT required",
                "operationId": "get_franchisesmscontroller_recipienttypes",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise-sms/recipients": {
            "get": {
                "tags": [
                    "Franchise Sms"
                ],
                "summary": "Recipients",
                "description": "**Access:** JWT required",
                "operationId": "get_franchisesmscontroller_recipients",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise-sms/send": {
            "post": {
                "tags": [
                    "Franchise Sms"
                ],
                "summary": "Send",
                "description": "**Access:** JWT required",
                "operationId": "post_franchisesmscontroller_send",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "template_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchise_sms_templates,id"
                                    },
                                    "message_content": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 1000,
                                        "description": "Validation: required, string, min:1, max:1000"
                                    },
                                    "recipient_type": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    },
                                    "custom_mobile_numbers": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "maxLength": 20,
                                            "description": "Validation: required, string, max:20"
                                        },
                                        "description": "Validation: array, min:1"
                                    }
                                },
                                "required": [
                                    "message_content",
                                    "recipient_type"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/amc-renewal-requests": {
            "get": {
                "tags": [
                    "Franchise \u2014 Amc Renewal Requests"
                ],
                "summary": "Franchise Renewal Index",
                "description": "GET /api/franchise/amc-renewal-requests\n\n**Access:** JWT required, franchise",
                "operationId": "get_productamcsubscriptioncontroller_franchiserenewalindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/amc-renewal-requests/{id}/approve": {
            "post": {
                "tags": [
                    "Franchise \u2014 Amc Renewal Requests"
                ],
                "summary": "Approve Renewal",
                "description": "POST /api/franchise/amc-renewal-requests/{id}/approve\n\n**Access:** JWT required, franchise",
                "operationId": "post_productamcsubscriptioncontroller_approverenewal",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "admin_notes": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:2000"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/amc-renewal-requests/{id}/reject": {
            "post": {
                "tags": [
                    "Franchise \u2014 Amc Renewal Requests"
                ],
                "summary": "Reject Renewal",
                "description": "POST /api/franchise/amc-renewal-requests/{id}/reject\n\n**Access:** JWT required, franchise",
                "operationId": "post_productamcsubscriptioncontroller_rejectrenewal",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "admin_notes": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:2000"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/amc-subscriptions": {
            "get": {
                "tags": [
                    "Franchise \u2014 Amc Subscriptions"
                ],
                "summary": "Franchise Index",
                "description": "GET /api/franchise/amc-subscriptions \u2014 customer AMC purchases visible to franchise admin.\n\n**Access:** JWT required, franchise",
                "operationId": "get_productamcsubscriptioncontroller_franchiseindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/amc/dashboard/counts": {
            "get": {
                "tags": [
                    "Franchise \u2014 Amc"
                ],
                "summary": "Franchise Amc Dashboard Counts",
                "description": "GET /api/franchise/amc/dashboard/counts Franchise dashboard numbers only: - active_customers: customers whose latest AMC plan is not expired - expired_customers: customers whose latest AMC plan is expired - no_plan_customers: customers with no AMC plan at all Expiry rule: latest_plan.created_at + latest_plan.duration_months months.\n\n**Access:** JWT required, franchise",
                "operationId": "get_amcplancontroller_franchiseamcdashboardcounts",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/amc/dashboard/expired": {
            "get": {
                "tags": [
                    "Franchise \u2014 Amc"
                ],
                "summary": "Franchise Expired Amc Latest",
                "description": "GET /api/franchise/amc/dashboard/expired-latest Franchise dashboard list: latest 5 expired customers (based on latest AMC plan expiry).\n\n**Access:** JWT required, franchise",
                "operationId": "get_amcplancontroller_franchiseexpiredamclatest",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/amc/dashboard/expired-latest": {
            "get": {
                "tags": [
                    "Franchise \u2014 Amc"
                ],
                "summary": "Franchise Expired Amc Latest",
                "description": "GET /api/franchise/amc/dashboard/expired-latest Franchise dashboard list: latest 5 expired customers (based on latest AMC plan expiry).\n\n**Access:** JWT required, franchise",
                "operationId": "get_amcplancontroller_franchiseexpiredamclatest",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/amc/upcoming-services": {
            "get": {
                "tags": [
                    "Franchise \u2014 Amc"
                ],
                "summary": "Upcoming Services",
                "description": "GET /api/franchise/amc/upcoming-services GET /api/admin/amc/upcoming-services\n\n**Access:** JWT required",
                "operationId": "get_productamcsubscriptioncontroller_upcomingservices",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/asset-management/assets": {
            "get": {
                "tags": [
                    "Franchise \u2014 Asset Management"
                ],
                "summary": "Index",
                "description": "GET /api/asset-management/assets GET /api/franchise/asset-management/assets\n\n**Access:** JWT required, franchise",
                "operationId": "get_assetmanagementcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Franchise \u2014 Asset Management"
                ],
                "summary": "Store",
                "description": "POST /api/asset-management/assets POST /api/franchise/asset-management/assets\n\n**Access:** JWT required, franchise",
                "operationId": "post_assetmanagementcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "asset_code": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: string, max:255"
                                    },
                                    "product_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "model_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "model_number": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    },
                                    "description": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "specifications": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "monthly_rent": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "security_deposit": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "available",
                                            "deployed",
                                            "idle",
                                            "maintenance",
                                            "retired"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:available,deployed,idle,maintenance,retired"
                                    },
                                    "current_location": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "current_customer": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "last_service_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/asset-management/assets/{id}": {
            "delete": {
                "tags": [
                    "Franchise \u2014 Asset Management"
                ],
                "summary": "Destroy",
                "description": "DELETE /api/asset-management/assets/{id} DELETE /api/franchise/asset-management/assets/{id}\n\n**Access:** JWT required, franchise",
                "operationId": "delete_assetmanagementcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Franchise \u2014 Asset Management"
                ],
                "summary": "Show",
                "description": "GET /api/asset-management/assets/{id} GET /api/franchise/asset-management/assets/{id}\n\n**Access:** JWT required, franchise",
                "operationId": "get_assetmanagementcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Franchise \u2014 Asset Management"
                ],
                "summary": "Update",
                "description": "PUT /api/asset-management/assets/{id} PUT /api/franchise/asset-management/assets/{id}\n\n**Access:** JWT required, franchise",
                "operationId": "put_assetmanagementcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "asset_code": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: string, max:255"
                                    },
                                    "product_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "model_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "model_number": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    },
                                    "description": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "specifications": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "monthly_rent": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "security_deposit": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "available",
                                            "deployed",
                                            "idle",
                                            "maintenance",
                                            "retired"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:available,deployed,idle,maintenance,retired"
                                    },
                                    "current_location": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "current_customer": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "last_service_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/asset-management/assets/{id}/status": {
            "patch": {
                "tags": [
                    "Franchise \u2014 Asset Management"
                ],
                "summary": "Update Status",
                "description": "PATCH /api/franchise/asset-management/assets/{id}/status\n\n**Access:** JWT required, franchise",
                "operationId": "patch_assetmanagementcontroller_updatestatus",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "available",
                                            "deployed",
                                            "idle",
                                            "maintenance",
                                            "retired"
                                        ],
                                        "description": "Validation: required, string, in:available,deployed,idle,maintenance,retired"
                                    },
                                    "current_location": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "current_customer": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    }
                                },
                                "required": [
                                    "status"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/asset-management/dashboard/summary": {
            "get": {
                "tags": [
                    "Franchise \u2014 Asset Management"
                ],
                "summary": "Dashboard Summary",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_assetmanagementcontroller_dashboardsummary",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/context": {
            "get": {
                "tags": [
                    "Franchise \u2014 Context"
                ],
                "summary": "Franchise Context",
                "description": "GET /api/franchise/context \u2014 diagnose franchise JWT + DB link (franchise login only).\n\n**Access:** JWT required, franchise",
                "operationId": "get_authcontroller_franchisecontext",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/customer-products": {
            "get": {
                "tags": [
                    "Franchise \u2014 Customer Products"
                ],
                "summary": "Index",
                "description": "GET /api/franchise/customer-products?customer_id=\n\n**Access:** JWT required",
                "operationId": "get_customerproductcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Franchise \u2014 Customer Products"
                ],
                "summary": "Store",
                "description": "POST /api/franchise/customer-products \u2014 franchise registers product for customer.\n\n**Access:** JWT required",
                "operationId": "post_customerproductcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/customers": {
            "post": {
                "tags": [
                    "Franchise \u2014 Customers"
                ],
                "summary": "Store",
                "description": "POST /api/customers \u2014 franchise only (middleware).\n\n**Access:** JWT required, franchise",
                "operationId": "post_customerscontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "Validation: unique:users,email"
                                    },
                                    "username": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50, unique:users,username"
                                    },
                                    "password": {
                                        "type": "string",
                                        "minLength": 6,
                                        "description": "Validation: required, string, min:6"
                                    },
                                    "address": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:2000"
                                    },
                                    "customer_address": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:2000"
                                    },
                                    "customer_type": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50"
                                    },
                                    "status": {
                                        "type": "string",
                                        "maxLength": 30,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:30"
                                    },
                                    "last_service_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "next_service_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "branch": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    },
                                    "device_purchased_externally": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    },
                                    "franchise_id": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    }
                                },
                                "required": [
                                    "password",
                                    "franchise_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/dashboard/alerts": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Alerts",
                "description": "GET /api/admin/dashboard/alerts Actionable critical items for live alert widgets.\n\n**Access:** JWT required, franchise",
                "operationId": "get_admindashboardcontroller_alerts",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/amc-risk": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Amc Risk",
                "description": "GET /api/admin/dashboard/amc-risk AMCs expiring today/overdue and within 7 days, plus top at-risk items.\n\n**Access:** JWT required, franchise",
                "operationId": "get_admindashboardcontroller_amcrisk",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/expiring-amc": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Expiring Amc",
                "description": "GET /api/admin/dashboard/expiring-amc Paginated scrollable list of AMCs at risk (overdue + expiring within N days). Shares query logic with amc-risk (P0-08).\n\n**Access:** JWT required, franchise",
                "operationId": "get_admindashboardcontroller_expiringamc",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/franchise-orders/latest": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Dashboard Latest",
                "description": "Admin dashboard: latest orders from franchises. Supports ?limit=5 and optional ?status=pending\n\n**Access:** JWT required, franchise",
                "operationId": "get_franchiseordercontroller_dashboardlatest",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/inventory-insights": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Dashboard Inventory Insights",
                "description": "GET /api/admin/dashboard/inventory-insights Super admin dashboard: fast vs slow moving items for a date range. \"Units used\" is derived from completed tasks count per product (each completed task using an inventory item counts as 1 unit). Query params: - period=7d|30d|month|all (default month) - from, to (Y-m-d, overrides period) - fast_limit (default 2, max 10) - slow_limit (default 2, max 10)\n\n**Access:** JWT required, franchise",
                "operationId": "get_inventorycontroller_dashboardinventoryinsights",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/monthly-orders-by-branch": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Index",
                "description": "GET /api/admin/dashboard/monthly-orders-by-branch GET /api/franchise/dashboard/monthly-orders-by-branch Query: - months (default 6): number of calendar months to include, ending at `end_month` - end_month (optional Y-m): last month in range (defaults to current month) - franchise_id (admin only): single franchise - status: pending|approved|rejected (optional)\n\n**Access:** JWT required, franchise",
                "operationId": "get_monthlyordersbybranchcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/monthly-statistics": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Monthly Statistics",
                "description": "GET /api/admin/dashboard/monthly-statistics Super admin only: ranked top services and top franchises for a period. Backward compatible: `top_service` / `top_franchise` remain the #1 entries. Query: period=7d|30d|month|all, from, to, limit (default 10), franchise_id\n\n**Access:** JWT required, franchise",
                "operationId": "get_franchisecontroller_monthlystatistics",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/network-revenue": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Dashboard Network Revenue",
                "description": "GET /api/admin/dashboard/network-revenue GET /api/franchise/dashboard/network-revenue Dashboard revenue total from payments.amount. Admin: sum across admin network (optional franchise_id / from / to). Franchise: sum for own branch(es) only.\n\n**Access:** JWT required, franchise",
                "operationId": "get_franchisecontroller_dashboardnetworkrevenue",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/receivables": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Receivables",
                "description": "GET /api/admin/dashboard/receivables Network-wide unpaid invoice total for admin franchises. Optional franchise_id narrows to one branch; as_of caps invoice date.\n\n**Access:** JWT required, franchise",
                "operationId": "get_admindashboardcontroller_receivables",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/recent-activities": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Recent Activities",
                "description": "GET /api/admin/dashboard/recent-activities Unified activity stream for dashboard feed (sorted created_at desc).\n\n**Access:** JWT required, franchise",
                "operationId": "get_admindashboardcontroller_recentactivities",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/revenue-by-franchise": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Revenue By Franchise",
                "description": "GET /api/admin/dashboard/revenue-by-franchise Admin chart: revenue (\u20b9) and complaint count per franchise. Revenue: sum of payments.amount per franchise (same as other network stats). Complaints: count per franchise using COALESCE(franchise_assigned_by, customer.franchise_id). Query params: franchise_id (optional branch filter), from, to (optional).\n\n**Access:** JWT required, franchise",
                "operationId": "get_franchisecontroller_revenuebyfranchise",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/service-amc-calendar": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Index",
                "description": "GET /api/franchise/dashboard/service-amc-calendar GET /api/admin/dashboard/service-amc-calendar?franchise_id= Query: year, month (default current), date (optional Y-m-d for day panel lists), franchise_id (admin only)\n\n**Access:** JWT required, franchise",
                "operationId": "get_serviceamccalendarcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/service-frequency": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Index",
                "description": "GET /api/admin/dashboard/service-frequency GET /api/franchise/dashboard/service-frequency Optional: franchise_id (admin only, must belong to this admin)\n\n**Access:** JWT required, franchise",
                "operationId": "get_servicefrequencycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/summary": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Franchise dashboard summary cards",
                "description": "Includes total_sales, receivable, complaints, amc_ns_renewals, tech_settlement for the logged-in franchise.",
                "operationId": "get_franchisedashboardcontroller_summary",
                "parameters": [
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/technician-performance": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Index",
                "description": "GET /api/admin/dashboard/technician-performance GET /api/franchise/dashboard/technician-performance Query: franchise_id (admin only), from, to (filter task stats by updated_at), page, per_page\n\n**Access:** JWT required, franchise",
                "operationId": "get_technicianperformancecontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/top-franchises": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Top Franchises",
                "description": "GET /api/admin/dashboard/top-franchises Ranked franchises by payment revenue in the selected period.\n\n**Access:** JWT required, franchise",
                "operationId": "get_franchisecontroller_topfranchises",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/top-selling-products": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Dashboard Top Selling Products",
                "description": "GET /api/admin/dashboard/top-selling-products Super admin dashboard: top selling products for a date range. \"Sold\" is derived from payments linked to tasks: payments -> full_functionality_tasks -> inventories -> products. Query params: - period=7d|30d|month|all (default month) - from, to (Y-m-d, overrides period) - limit (default 5, max 20)\n\n**Access:** JWT required, franchise",
                "operationId": "get_inventorycontroller_dashboardtopsellingproducts",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/dashboard/top-services": {
            "get": {
                "tags": [
                    "Franchise \u2014 Dashboard"
                ],
                "summary": "Top Services",
                "description": "GET /api/admin/dashboard/top-services Ranked services by completed task count (product name).\n\n**Access:** JWT required, franchise",
                "operationId": "get_franchisecontroller_topservices",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/enquiries/{id}/reply": {
            "post": {
                "tags": [
                    "Franchise \u2014 Enquiries"
                ],
                "summary": "Reply",
                "description": "POST /api/franchise/product-enquiries/{id}/reply \u2014 franchise reply sent to customer.\n\n**Access:** JWT required, franchise",
                "operationId": "post_productenquirycontroller_reply",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "reply": {
                                        "type": "string",
                                        "maxLength": 5000,
                                        "description": "Validation: required, string, max:5000"
                                    },
                                    "message": {
                                        "type": "string",
                                        "maxLength": 5000,
                                        "description": "Validation: string, max:5000"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "pending",
                                            "in_progress",
                                            "in-progress",
                                            "resolved",
                                            "reviewed",
                                            "closed"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:pending,in_progress,in-progress,resolved,reviewed,closed"
                                    }
                                },
                                "required": [
                                    "reply"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/installation-pickup-tasks": {
            "get": {
                "tags": [
                    "Franchise \u2014 Installation Pickup Tasks"
                ],
                "summary": "Index",
                "description": "GET /api/franchise/installation-pickup-tasks\n\n**Access:** JWT required, franchise",
                "operationId": "get_installationpickuptaskcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Franchise \u2014 Installation Pickup Tasks"
                ],
                "summary": "Create installation/pickup task (franchise)",
                "description": "**Access:** JWT required, franchise",
                "operationId": "post_installationpickuptaskcontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/InstallationPickupCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Task created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/InstallationPickupTask"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/installation-pickup-tasks/form-options": {
            "get": {
                "tags": [
                    "Franchise \u2014 Installation Pickup Tasks"
                ],
                "summary": "Form dropdowns for installation/pickup task (franchise)",
                "description": "GET /api/installation-pickup-tasks/form-options GET /api/franchise/installation-pickup-tasks/form-options\n\n**Access:** JWT required, franchise",
                "operationId": "get_installationpickuptaskcontroller_formoptions",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "customer_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "account_master_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "technician_search",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Form options",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/InstallationPickupFormOptions"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/installation-pickup-tasks/{id}": {
            "delete": {
                "tags": [
                    "Franchise \u2014 Installation Pickup Tasks"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_installationpickuptaskcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Franchise \u2014 Installation Pickup Tasks"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_installationpickuptaskcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Franchise \u2014 Installation Pickup Tasks"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_installationpickuptaskcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/installation-pickup-tasks/{id}/status": {
            "patch": {
                "tags": [
                    "Franchise \u2014 Installation Pickup Tasks"
                ],
                "summary": "Update Status",
                "description": "**Access:** JWT required, franchise",
                "operationId": "patch_installationpickuptaskcontroller_updatestatus",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "description": "Validation: required, in:"
                                    }
                                },
                                "required": [
                                    "status"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/link-account": {
            "post": {
                "tags": [
                    "Franchise \u2014 Link Account"
                ],
                "summary": "Link Account",
                "description": "POST /api/franchise/link-account Link logged-in franchise user to a franchise row (user_id was null). Requires matching phone_number \u2194 franchise_phone_number.\n\n**Access:** JWT required, franchise",
                "operationId": "post_franchisecontroller_linkaccount",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "franchise_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/login": {
            "post": {
                "tags": [
                    "Franchise \u2014 Login"
                ],
                "summary": "Franchise login",
                "description": "Returns JWT `access_token` and `refresh_token` for **franchise accounts only**.",
                "operationId": "post_authcontroller_franchiselogin",
                "parameters": [],
                "security": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "franchise@example.com"
                                    },
                                    "password": {
                                        "type": "string",
                                        "example": "your_password"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "Technician login alternative to email"
                                    }
                                },
                                "required": [
                                    "email",
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Login successful",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/JwtAuthResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid credentials",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/product-enquiries": {
            "get": {
                "tags": [
                    "Franchise \u2014 Product Enquiries"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_productenquirycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Franchise \u2014 Product Enquiries"
                ],
                "summary": "Store",
                "description": "POST /api/customer/product-enquiries \u2014 customer submits for self. POST /api/franchise/product-enquiries \u2014 franchise submits for a customer (customer_id required). POST /api/product-enquiries \u2014 same store handler for customer, franchise, or admin.\n\n**Access:** JWT required, franchise",
                "operationId": "post_productenquirycontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "product_category": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "product_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "subject": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "source": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50"
                                    },
                                    "details": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/product-enquiries/{id}/reply": {
            "post": {
                "tags": [
                    "Franchise \u2014 Product Enquiries"
                ],
                "summary": "Reply",
                "description": "POST /api/franchise/product-enquiries/{id}/reply \u2014 franchise reply sent to customer.\n\n**Access:** JWT required, franchise",
                "operationId": "post_productenquirycontroller_reply",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "reply": {
                                        "type": "string",
                                        "maxLength": 5000,
                                        "description": "Validation: required, string, max:5000"
                                    },
                                    "message": {
                                        "type": "string",
                                        "maxLength": 5000,
                                        "description": "Validation: string, max:5000"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "pending",
                                            "in_progress",
                                            "in-progress",
                                            "resolved",
                                            "reviewed",
                                            "closed"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:pending,in_progress,in-progress,resolved,reviewed,closed"
                                    }
                                },
                                "required": [
                                    "reply"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/rental-products": {
            "get": {
                "tags": [
                    "Franchise \u2014 Rental Products"
                ],
                "summary": "Franchise Index",
                "description": "Franchise alias \u2014 same list, franchise middleware on route.\n\n**Access:** JWT required, franchise",
                "operationId": "get_rentalproductcontroller_franchiseindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Franchise \u2014 Rental Products"
                ],
                "summary": "Franchise Store",
                "description": "**Access:** JWT required, franchise",
                "operationId": "post_rentalproductcontroller_franchisestore",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "franchise_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/rental-products/dashboard/summary": {
            "get": {
                "tags": [
                    "Franchise \u2014 Rental Products"
                ],
                "summary": "Dashboard Summary",
                "description": "GET /api/franchise/rental-products/dashboard/summary Franchise dashboard rental module cards.\n\n**Access:** JWT required, franchise",
                "operationId": "get_rentalproductcontroller_dashboardsummary",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/rental-products/{id}": {
            "delete": {
                "tags": [
                    "Franchise \u2014 Rental Products"
                ],
                "summary": "Franchise Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_rentalproductcontroller_franchisedestroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Franchise \u2014 Rental Products"
                ],
                "summary": "Franchise Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_rentalproductcontroller_franchiseshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Franchise \u2014 Rental Products"
                ],
                "summary": "Franchise Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_rentalproductcontroller_franchiseupdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/rental-products/{id}/assign": {
            "post": {
                "tags": [
                    "Franchise \u2014 Rental Products"
                ],
                "summary": "Assign Customer",
                "description": "Franchise assigns a customer to an available rental device. POST /api/franchise/rental-products/{id}/assign\n\n**Access:** JWT required, franchise",
                "operationId": "post_rentalproductcontroller_assigncustomer",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/rental-products/{id}/return": {
            "post": {
                "tags": [
                    "Franchise \u2014 Rental Products"
                ],
                "summary": "Return Device",
                "description": "Franchise returns a device (end active rental). POST /api/franchise/rental-products/{id}/return\n\n**Access:** JWT required, franchise",
                "operationId": "post_rentalproductcontroller_returndevice",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "clear_dates": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "available",
                                            "completed"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:available,completed"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/rental-products/{id}/status": {
            "patch": {
                "tags": [
                    "Franchise \u2014 Rental Products"
                ],
                "summary": "Update Status",
                "description": "PATCH /api/franchise/rental-products/{id}/status\n\n**Access:** JWT required, franchise",
                "operationId": "patch_rentalproductcontroller_updatestatus",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "available",
                                            "active",
                                            "inactive",
                                            "completed"
                                        ],
                                        "description": "Validation: required, string, in:available,active,inactive,completed"
                                    }
                                },
                                "required": [
                                    "status"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/rental-subscriptions": {
            "get": {
                "tags": [
                    "Franchise \u2014 Rental Subscriptions"
                ],
                "summary": "List rental subscriptions (franchise)",
                "description": "GET /api/franchise/rental-subscriptions GET /api/subscriptions\n\n**Access:** JWT required, franchise",
                "operationId": "get_subscriptioncontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "pending_kyc",
                                "active",
                                "paused",
                                "cancelled"
                            ]
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Rental subscriptions",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/RentalSubscription"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Franchise \u2014 Rental Subscriptions"
                ],
                "summary": "Create rental subscription (franchise)",
                "description": "Customer via `customer_id` or `customer_name` + `mobile`. Plan via `plan_selected` (basic|monthly|premium|yearly|commercial) or `rental_plan_id`. Machine via `machine_name` (matches rental product dropdown) or `rental_product_id`. Dates: `start_date`, `next_billing_date`. Status defaults to pending_kyc.",
                "operationId": "post_subscriptioncontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RentalSubscriptionCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Subscription created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/RentalSubscription"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/rental-subscriptions/form-options": {
            "get": {
                "tags": [
                    "Franchise \u2014 Rental Subscriptions"
                ],
                "summary": "Rental subscription form dropdowns (franchise)",
                "description": "Returns plan_type options (basic, monthly, premium, yearly, commercial), status options, machine names from rental products, and configured rental plans.",
                "operationId": "get_subscriptioncontroller_formoptions",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Form options",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/RentalSubscriptionFormOptions"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/rental-subscriptions/{id}": {
            "delete": {
                "tags": [
                    "Franchise \u2014 Rental Subscriptions"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_subscriptioncontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Franchise \u2014 Rental Subscriptions"
                ],
                "summary": "Rental subscription detail (franchise)",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_subscriptioncontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Rental subscription",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/RentalSubscription"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Franchise \u2014 Rental Subscriptions"
                ],
                "summary": "Update rental subscription (franchise)",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_subscriptioncontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RentalSubscriptionCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Subscription updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/RentalSubscription"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/reports/party-multiple-ledger": {
            "get": {
                "tags": [
                    "Franchise \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Party Multiple Ledger (franchise or admin scoped).\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportpartymultipleledgercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/reports/party_multiple_ledger": {
            "get": {
                "tags": [
                    "Franchise \u2014 Reports"
                ],
                "summary": "Index",
                "description": "Party Multiple Ledger (franchise or admin scoped).\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportpartymultipleledgercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/service-requests": {
            "get": {
                "tags": [
                    "Franchise \u2014 Service Requests"
                ],
                "summary": "Franchise Index",
                "description": "GET /api/franchise/service-requests\n\n**Access:** JWT required, franchise",
                "operationId": "get_servicerequestcontroller_franchiseindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchise/service-requests/{id}": {
            "patch": {
                "tags": [
                    "Franchise \u2014 Service Requests"
                ],
                "summary": "Update",
                "description": "PUT /api/service-requests/{id} PATCH /api/service-requests/{id} PUT /api/franchise/service-requests/{id}\n\n**Access:** JWT required, franchise",
                "operationId": "patch_servicerequestcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "priority": {
                                        "type": "string",
                                        "enum": [
                                            "low",
                                            "normal",
                                            "high",
                                            "LOW",
                                            "NORMAL",
                                            "HIGH"
                                        ],
                                        "description": "Validation: required, in:low,normal,high,LOW,NORMAL,HIGH"
                                    },
                                    "title": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "details": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    },
                                    "scheduled_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "force_complete": {
                                        "type": "boolean",
                                        "description": "Validation: boolean"
                                    },
                                    "override_resolution": {
                                        "type": "boolean",
                                        "description": "Validation: boolean"
                                    },
                                    "override_reason": {
                                        "type": "string",
                                        "minLength": 10,
                                        "maxLength": 500,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, min:10, max:500"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Franchise \u2014 Service Requests"
                ],
                "summary": "Update",
                "description": "PUT /api/service-requests/{id} PATCH /api/service-requests/{id} PUT /api/franchise/service-requests/{id}\n\n**Access:** JWT required, franchise",
                "operationId": "put_servicerequestcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "priority": {
                                        "type": "string",
                                        "enum": [
                                            "low",
                                            "normal",
                                            "high",
                                            "LOW",
                                            "NORMAL",
                                            "HIGH"
                                        ],
                                        "description": "Validation: required, in:low,normal,high,LOW,NORMAL,HIGH"
                                    },
                                    "title": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "details": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    },
                                    "scheduled_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "force_complete": {
                                        "type": "boolean",
                                        "description": "Validation: boolean"
                                    },
                                    "override_resolution": {
                                        "type": "boolean",
                                        "description": "Validation: boolean"
                                    },
                                    "override_reason": {
                                        "type": "string",
                                        "minLength": 10,
                                        "maxLength": 500,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, min:10, max:500"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/settings": {
            "get": {
                "tags": [
                    "Franchise \u2014 Settings"
                ],
                "summary": "Franchise settings (all sections)",
                "description": "**Auth:** Franchise JWT (`POST /api/franchise/login`) **or** admin JWT with required query `franchise_id`.\n\n**Franchise login** \u2014 settings apply to the branch linked via `franchises.user_id`.\n\n**Admin login** \u2014 pass `franchise_id` for the branch to manage; profile/security sections reflect the branch primary owner when set.\n\n**Session timeout** \u2014 `security.session_timeout_minutes` (15, 30, 60, 120, 480) controls JWT access token TTL on next login/refresh.\n\nReturns profile, general, security, notifications, factory defaults, and option lists for dropdowns.",
                "operationId": "get_franchisesettingscontroller_show",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Required for admin JWT; ignored for franchise JWT (uses linked branch)."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Franchise settings payload",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FranchiseSettingsResponse"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden (wrong role or franchise not linked)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Franchise \u2014 Settings"
                ],
                "summary": "Save franchise settings (partial update)",
                "description": "**Auth:** Franchise JWT (`POST /api/franchise/login`) **or** admin JWT with required query `franchise_id`.\n\n**Franchise login** \u2014 settings apply to the branch linked via `franchises.user_id`.\n\n**Admin login** \u2014 pass `franchise_id` for the branch to manage; profile/security sections reflect the branch primary owner when set.\n\n**Session timeout** \u2014 `security.session_timeout_minutes` (15, 30, 60, 120, 480) controls JWT access token TTL on next login/refresh.\n\n**Save changes** \u2014 send only the sections you want to update.\n\nFor profile photo: use `multipart/form-data` with file field `profile_image` (max 5 MB). JSON body may set `profile.remove_profile_image: true` to clear the image.",
                "operationId": "put_franchisesettingscontroller_update",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Required for admin JWT; ignored for franchise JWT (uses linked branch)."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/FranchiseSettingsUpdateRequest"
                            }
                        },
                        "multipart/form-data": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "profile_image": {
                                        "type": "string",
                                        "format": "binary"
                                    },
                                    "profile": {
                                        "type": "string",
                                        "description": "JSON string of profile section"
                                    },
                                    "general": {
                                        "type": "string",
                                        "description": "JSON string of general section"
                                    },
                                    "security": {
                                        "type": "string",
                                        "description": "JSON string of security section"
                                    },
                                    "notifications": {
                                        "type": "string",
                                        "description": "JSON string of notifications section"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Settings saved",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FranchiseSettingsResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/settings/deactivate-all-users": {
            "post": {
                "tags": [
                    "Franchise \u2014 Settings"
                ],
                "summary": "Deactivate all organization users",
                "description": "**Auth:** Franchise JWT (`POST /api/franchise/login`) **or** admin JWT with required query `franchise_id`.\n\n**Franchise login** \u2014 settings apply to the branch linked via `franchises.user_id`.\n\n**Admin login** \u2014 pass `franchise_id` for the branch to manage; profile/security sections reflect the branch primary owner when set.\n\n**Session timeout** \u2014 `security.session_timeout_minutes` (15, 30, 60, 120, 480) controls JWT access token TTL on next login/refresh.\n\nRequires `confirm: true`. Deactivates every user in the organization except the caller.",
                "operationId": "post_franchisesettingscontroller_deactivateallusers",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Required for admin JWT; ignored for franchise JWT (uses linked branch)."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/FranchiseSettingsConfirmRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Bulk deactivation complete",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "deactivated_count": {
                                            "type": "integer"
                                        },
                                        "franchise_id": {
                                            "type": "integer"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/settings/organization": {
            "delete": {
                "tags": [
                    "Franchise \u2014 Settings"
                ],
                "summary": "Delete or archive organization",
                "description": "**Auth:** Franchise JWT (`POST /api/franchise/login`) **or** admin JWT with required query `franchise_id`.\n\n**Franchise login** \u2014 settings apply to the branch linked via `franchises.user_id`.\n\n**Admin login** \u2014 pass `franchise_id` for the branch to manage; profile/security sections reflect the branch primary owner when set.\n\n**Session timeout** \u2014 `security.session_timeout_minutes` (15, 30, 60, 120, 480) controls JWT access token TTL on next login/refresh.\n\nRequires `confirm: true`.\n\n- **Default** \u2014 archive (soft-delete franchise + deactivate users; preserves customers, technicians, billing).\n- **`permanent: true`** \u2014 hard delete only when `can_hard_delete` is true (no linked records).",
                "operationId": "delete_franchisesettingscontroller_destroyorganization",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Required for admin JWT; ignored for franchise JWT (uses linked branch)."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/FranchiseSettingsConfirmRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Organization archived or deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "deletion_type": {
                                            "type": "string",
                                            "enum": [
                                                "archive",
                                                "permanent"
                                            ]
                                        },
                                        "dependencies": {
                                            "type": "object",
                                            "additionalProperties": true
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Permanent delete blocked (linked records exist)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/settings/reset": {
            "post": {
                "tags": [
                    "Franchise \u2014 Settings"
                ],
                "summary": "Reset franchise settings to defaults",
                "description": "**Auth:** Franchise JWT (`POST /api/franchise/login`) **or** admin JWT with required query `franchise_id`.\n\n**Franchise login** \u2014 settings apply to the branch linked via `franchises.user_id`.\n\n**Admin login** \u2014 pass `franchise_id` for the branch to manage; profile/security sections reflect the branch primary owner when set.\n\n**Session timeout** \u2014 `security.session_timeout_minutes` (15, 30, 60, 120, 480) controls JWT access token TTL on next login/refresh.\n\nRestores default values for `general`, `security`, and/or `notifications`. Omit `sections` or send `[\"all\"]` to reset all three.",
                "operationId": "post_franchisesettingscontroller_resetdefaults",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Required for admin JWT; ignored for franchise JWT (uses linked branch)."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/FranchiseSettingsResetRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Defaults restored",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FranchiseSettingsResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/settings/users": {
            "get": {
                "tags": [
                    "Franchise \u2014 Settings"
                ],
                "summary": "List organization users",
                "description": "**Auth:** Franchise JWT (`POST /api/franchise/login`) **or** admin JWT with required query `franchise_id`.\n\n**Franchise login** \u2014 settings apply to the branch linked via `franchises.user_id`.\n\n**Admin login** \u2014 pass `franchise_id` for the branch to manage; profile/security sections reflect the branch primary owner when set.\n\n**Session timeout** \u2014 `security.session_timeout_minutes` (15, 30, 60, 120, 480) controls JWT access token TTL on next login/refresh.\n\nIncludes primary franchise owner, staff users with `franchise_id`, and technician login accounts linked to this branch.",
                "operationId": "get_franchisesettingscontroller_listusers",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Required for admin JWT; ignored for franchise JWT (uses linked branch)."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Organization users",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "franchise_id": {
                                            "type": "integer"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/FranchiseOrganizationUser"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Franchise \u2014 Settings"
                ],
                "summary": "Create organization user",
                "description": "**Auth:** Franchise JWT (`POST /api/franchise/login`) **or** admin JWT with required query `franchise_id`.\n\n**Franchise login** \u2014 settings apply to the branch linked via `franchises.user_id`.\n\n**Admin login** \u2014 pass `franchise_id` for the branch to manage; profile/security sections reflect the branch primary owner when set.\n\n**Session timeout** \u2014 `security.session_timeout_minutes` (15, 30, 60, 120, 480) controls JWT access token TTL on next login/refresh.",
                "operationId": "post_franchisesettingscontroller_storeuser",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Required for admin JWT; ignored for franchise JWT (uses linked branch)."
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/FranchiseOrganizationUserWriteRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "User created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/FranchiseOrganizationUser"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchise/settings/users/{id}": {
            "delete": {
                "tags": [
                    "Franchise \u2014 Settings"
                ],
                "summary": "Deactivate organization user",
                "description": "**Auth:** Franchise JWT (`POST /api/franchise/login`) **or** admin JWT with required query `franchise_id`.\n\n**Franchise login** \u2014 settings apply to the branch linked via `franchises.user_id`.\n\n**Admin login** \u2014 pass `franchise_id` for the branch to manage; profile/security sections reflect the branch primary owner when set.\n\n**Session timeout** \u2014 `security.session_timeout_minutes` (15, 30, 60, 120, 480) controls JWT access token TTL on next login/refresh.\n\nSets `is_active` to false. You cannot deactivate your own account.",
                "operationId": "delete_franchisesettingscontroller_destroyuser",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Required for admin JWT; ignored for franchise JWT (uses linked branch)."
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "User deactivated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Franchise \u2014 Settings"
                ],
                "summary": "Update organization user",
                "description": "**Auth:** Franchise JWT (`POST /api/franchise/login`) **or** admin JWT with required query `franchise_id`.\n\n**Franchise login** \u2014 settings apply to the branch linked via `franchises.user_id`.\n\n**Admin login** \u2014 pass `franchise_id` for the branch to manage; profile/security sections reflect the branch primary owner when set.\n\n**Session timeout** \u2014 `security.session_timeout_minutes` (15, 30, 60, 120, 480) controls JWT access token TTL on next login/refresh.",
                "operationId": "put_franchisesettingscontroller_updateuser",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Required for admin JWT; ignored for franchise JWT (uses linked branch)."
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/FranchiseOrganizationUserUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "User updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/FranchiseOrganizationUser"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "User not in this organization",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/franchiseLogin": {
            "post": {
                "tags": [
                    "Franchiselogin"
                ],
                "summary": "Franchise Login",
                "description": "POST /api/franchise/login \u2014 franchise accounts only; auto-resolves franchise from Bearer user.",
                "operationId": "post_authcontroller_franchiselogin",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Validation: required, email"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    }
                                },
                                "required": [
                                    "email",
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/api/franchises": {
            "post": {
                "tags": [
                    "Franchises"
                ],
                "summary": "Create franchise (admin)",
                "description": "POST /api/franchises \u2014 requires super admin Bearer token (not customer/franchise).\n\n**Access:** JWT required, admin",
                "operationId": "post_franchisecontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_name": {
                                        "type": "string"
                                    },
                                    "franchise_address": {
                                        "type": "string"
                                    },
                                    "franchise_city": {
                                        "type": "string"
                                    },
                                    "franchise_phone_number": {
                                        "type": "string"
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "password": {
                                        "type": "string",
                                        "minLength": 6
                                    }
                                },
                                "required": [
                                    "franchise_name",
                                    "franchise_address",
                                    "franchise_city",
                                    "franchise_phone_number",
                                    "email",
                                    "password"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/franchises/dashboard/counts": {
            "get": {
                "tags": [
                    "Franchises"
                ],
                "summary": "Dashboard Counts",
                "description": "GET /api/franchises/dashboard/counts Dashboard numbers only: total, active, inactive (for logged-in admin).\n\n**Access:** JWT required",
                "operationId": "get_franchisecontroller_dashboardcounts",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchises/{franchise_id}/products": {
            "get": {
                "tags": [
                    "Franchises"
                ],
                "summary": "Get Products By Franchise",
                "description": "**Access:** JWT required",
                "operationId": "get_technicianstockcontroller_getproductsbyfranchise",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/franchises/{franchise_id}/technicians": {
            "get": {
                "tags": [
                    "Franchises"
                ],
                "summary": "Get Technicians By Franchise",
                "description": "**Access:** JWT required",
                "operationId": "get_technicianstockcontroller_gettechniciansbyfranchise",
                "parameters": [
                    {
                        "name": "franchise_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/getAllAmcPlans": {
            "get": {
                "tags": [
                    "Getallamcplans"
                ],
                "summary": "Admin Index",
                "description": "GET /api/admin/amc-plans \u2014 catalog + purchased plans for super admin network.\n\n**Access:** JWT required, admin",
                "operationId": "get_amcplancontroller_adminindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/getAllFranchisesWithCustomers": {
            "get": {
                "tags": [
                    "Getallfranchiseswithcustomers"
                ],
                "summary": "Get All Franchises With Customers",
                "description": "Super admin API: GET /api/getAllFranchisesWithCustomers Returns every franchise from DB with related customers (customers.franchise_id) eager-loaded.\n\n**Access:** JWT required, admin",
                "operationId": "get_customerscontroller_getallfranchiseswithcustomers",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/getAllcomplaintRegisters": {
            "get": {
                "tags": [
                    "Getallcomplaintregisters"
                ],
                "summary": "List complaints (paginated, searchable)",
                "description": "Admin: all franchises in admin network (optional `franchise_id`). Franchise: own branch only. Supports search, type/status/date filters, and dashboard buckets. UI type chips: `installation`, `service`, `repair` (alias \u2192 stored complaint_type). UI status chips: `open`, `assigned`, `awaiting_parts`, `resolved` (virtual filters \u2014 see response meta.status_map).",
                "operationId": "get_complaintregistercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Ticket ID (complaint_number or id), customer name, or technician name"
                    },
                    {
                        "name": "complaint_type",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "installation",
                                "service",
                                "repair",
                                "ro_installation",
                                "ro_service",
                                "amc_service",
                                "pickup",
                                "general"
                            ]
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "open",
                                "assigned",
                                "awaiting_parts",
                                "resolved",
                                "in_progress",
                                "pending",
                                "complete",
                                "rescheduled",
                                "cancelled"
                            ]
                        }
                    },
                    {
                        "name": "dashboard_bucket",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "open",
                                "in_progress",
                                "assigned",
                                "resolved",
                                "awaiting_parts"
                            ]
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Admin only"
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "created_at >= date"
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "created_at <= date"
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/getAllcustomers": {
            "get": {
                "tags": [
                    "Customers"
                ],
                "summary": "List customers (franchise/admin)",
                "description": "Franchise-scoped customer list with the same search and filter query params as admin list.",
                "operationId": "get_customerscontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "maxLength": 200
                        },
                        "description": "Matches first name, last name, full name, phone, or city"
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "active",
                                "pending"
                            ]
                        }
                    },
                    {
                        "name": "amc_status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "has_amc",
                                "no_amc"
                            ]
                        },
                        "description": "Active product_amc_subscription required for has_amc"
                    },
                    {
                        "name": "service_due_within_months",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "enum": [
                                3,
                                6
                            ]
                        },
                        "description": "customers.next_service_date <= today + N months (includes overdue)"
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Optional branch scope within the caller network"
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Customers with applied filters in meta.filters",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Customer"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/getAllfranchises": {
            "get": {
                "tags": [
                    "Franchises"
                ],
                "summary": "List franchises",
                "description": "**Access:** JWT required",
                "operationId": "get_franchisecontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/getAllinventories": {
            "get": {
                "tags": [
                    "Products & Inventory"
                ],
                "summary": "Index",
                "description": "GET /api/getAllinventories Show quantities with product + franchise info.\n\n**Access:** JWT required",
                "operationId": "get_inventorycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/getAllproducts": {
            "get": {
                "tags": [
                    "Products & Inventory"
                ],
                "summary": "Index",
                "description": "GET /api/getAllproducts \u2014 admin/franchise catalog (scoped); customers see active branch catalog.\n\n**Access:** JWT required",
                "operationId": "get_productscontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/getAlltechnicians": {
            "get": {
                "tags": [
                    "Getalltechnicians"
                ],
                "summary": "Index",
                "description": "GET /api/getAlltechnicians \u2014 technicians for franchise user's branch(es). Lists by franchise_id (same rule as complaint assignment). Falls back to created_by when no franchise is linked yet.\n\n**Access:** JWT required",
                "operationId": "get_techniciancontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/getCheckInCheckoutImagesById/{id}": {
            "get": {
                "tags": [
                    "Getcheckincheckoutimagesbyid"
                ],
                "summary": "Show",
                "description": "GET /api/getCheckInCheckoutImagesById/{id} Fetch check-in / checkout image record by table id.\n\n**Access:** JWT required",
                "operationId": "get_checkincheckoutimagecontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/getCustomerInventories": {
            "get": {
                "tags": [
                    "Getcustomerinventories"
                ],
                "summary": "Customer Inventories",
                "description": "GET /api/customer/inventories \u2014 active product stock for customer app (branch first, then network).\n\n**Access:** JWT required",
                "operationId": "get_inventorycontroller_customerinventories",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/getMyFranchiseCustomers": {
            "get": {
                "tags": [
                    "Franchises"
                ],
                "summary": "Get My Franchise Customers",
                "description": "Franchise API: get own franchise with own customers. Route: GET /api/getMyFranchiseCustomers\n\n**Access:** JWT required, franchise",
                "operationId": "get_customerscontroller_getmyfranchisecustomers",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/getcomplaintRegistersById/{id}": {
            "get": {
                "tags": [
                    "Getcomplaintregistersbyid"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_complaintregistercontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/getcustomersById/{id}": {
            "get": {
                "tags": [
                    "Customers"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_customerscontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/getfranchisesById/{id}": {
            "get": {
                "tags": [
                    "Getfranchisesbyid"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_franchisecontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/getinventoriesById/{id}": {
            "get": {
                "tags": [
                    "Getinventoriesbyid"
                ],
                "summary": "Show",
                "description": "GET /api/getinventoriesById/{id}\n\n**Access:** JWT required",
                "operationId": "get_inventorycontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/getproductsById/{id}": {
            "get": {
                "tags": [
                    "Getproductsbyid"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_productscontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/gettechniciansById/{id}": {
            "get": {
                "tags": [
                    "Gettechniciansbyid"
                ],
                "summary": "Show",
                "description": "GET /api/gettechniciansById/{id} \u2014 one technician in actor scope (franchise or admin).\n\n**Access:** JWT required",
                "operationId": "get_techniciancontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/installation-pickup-tasks": {
            "get": {
                "tags": [
                    "Installation Pickup Tasks"
                ],
                "summary": "List installation/pickup tasks (franchise/admin)",
                "description": "GET /api/franchise/installation-pickup-tasks\n\n**Access:** JWT required",
                "operationId": "get_installationpickuptaskcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "task_type",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "installation",
                                "pickup"
                            ]
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "pending",
                                "scheduled",
                                "completed"
                            ]
                        }
                    },
                    {
                        "name": "technician_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "customer_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Installation/pickup tasks",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/InstallationPickupTask"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Installation Pickup Tasks"
                ],
                "summary": "Create installation or pickup task (franchise/admin)",
                "description": "Send `task_type` (installation|pickup), `schedule_date` or `task_date`, `customer_id` or `account_master_id`, optional `technician_id`, optional `status` (defaults pending). Area/location auto-fills from customer when omitted.",
                "operationId": "post_installationpickuptaskcontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/InstallationPickupCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Task created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/InstallationPickupTask"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/installation-pickup-tasks/form-options": {
            "get": {
                "tags": [
                    "Installation Pickup Tasks"
                ],
                "summary": "Installation/pickup task form dropdowns (franchise/admin)",
                "description": "Task types, statuses, technician search (`technician_search`), area search (`area_search`). Pass `customer_id` or `account_master_id` to get `customer_area_prefill` (auto-filled location after customer select). Customer search: GET /api/customers/search or GET /api/account-masters.",
                "operationId": "get_installationpickuptaskcontroller_formoptions",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "customer_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "account_master_id",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "technician_search",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "area_search",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Form options",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/InstallationPickupFormOptions"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/installation-pickup-tasks/{id}": {
            "delete": {
                "tags": [
                    "Installation Pickup Tasks"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_installationpickuptaskcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Installation Pickup Tasks"
                ],
                "summary": "Installation/pickup task detail",
                "description": "**Access:** JWT required",
                "operationId": "get_installationpickuptaskcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Task detail",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/InstallationPickupTask"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Installation Pickup Tasks"
                ],
                "summary": "Update installation/pickup task",
                "description": "**Access:** JWT required",
                "operationId": "put_installationpickuptaskcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/InstallationPickupCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Task updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/InstallationPickupTask"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/installation-pickup-tasks/{id}/status": {
            "patch": {
                "tags": [
                    "Installation Pickup Tasks"
                ],
                "summary": "Update task status only",
                "description": "**Access:** JWT required",
                "operationId": "patch_installationpickuptaskcontroller_updatestatus",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "pending",
                                            "scheduled",
                                            "completed"
                                        ]
                                    }
                                },
                                "required": [
                                    "status"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/InstallationPickupTask"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/inventories": {
            "post": {
                "tags": [
                    "Products & Inventory"
                ],
                "summary": "Add or update franchise inventory quantity",
                "description": "Accepts `product_id` or scanned `barcode` (resolves to product). At least one is required.",
                "operationId": "post_inventorycontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/InventoryCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Inventory saved",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InventoryCreateResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Unknown barcode or validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/inventories/bulk-delete": {
            "post": {
                "tags": [
                    "Products & Inventory"
                ],
                "summary": "Bulk Destroy",
                "description": "POST /api/inventories/bulk-delete POST /api/admin/inventories/bulk-delete Removes all inventory rows for a product (optionally scoped to one franchise). Zero-quantity rows delete even when stale task links exist.\n\n**Access:** JWT required",
                "operationId": "post_inventorycontroller_bulkdestroy",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "product_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:products,id"
                                    },
                                    "product_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "inventory_ids": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer",
                                            "description": "Validation: integer"
                                        },
                                        "nullable": true,
                                        "description": "Validation: nullable, array, min:1"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/inventories/low-stock": {
            "get": {
                "tags": [
                    "Products & Inventory"
                ],
                "summary": "Low Stock",
                "description": "GET /api/inventories/low-stock \u2014 items where quantity < minimum_quantity.\n\n**Access:** JWT required",
                "operationId": "get_inventorycontroller_lowstock",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/inventoryRequests": {
            "get": {
                "tags": [
                    "Inventoryrequests"
                ],
                "summary": "Get Inventory Requests",
                "description": "**Access:** JWT required",
                "operationId": "get_inventorycontroller_getinventoryrequests",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Inventoryrequests"
                ],
                "summary": "Request Inventory",
                "description": "**Access:** JWT required",
                "operationId": "post_inventorycontroller_requestinventory",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "product_id": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "quantity_requested": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "description": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                },
                                "required": [
                                    "product_id",
                                    "quantity_requested"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/inventoryRequests/{id}": {
            "delete": {
                "tags": [
                    "Inventoryrequests"
                ],
                "summary": "Delete Inventory Request",
                "description": "**Access:** JWT required",
                "operationId": "delete_inventorycontroller_deleteinventoryrequest",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Inventoryrequests"
                ],
                "summary": "Update Inventory Request",
                "description": "**Access:** JWT required",
                "operationId": "put_inventorycontroller_updateinventoryrequest",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "pending",
                                            "approved",
                                            "rejected"
                                        ],
                                        "description": "Validation: required, in:pending,approved,rejected"
                                    }
                                },
                                "required": [
                                    "status"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/leads": {
            "get": {
                "tags": [
                    "Leads"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_leadcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Leads"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required, franchise",
                "operationId": "post_leadcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "location": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "requirement": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "source": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "new",
                                            "contacted",
                                            "qualified",
                                            "converted",
                                            "lost"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, in:new,contacted,qualified,converted,lost"
                                    },
                                    "lead_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/leads/{id}": {
            "delete": {
                "tags": [
                    "Leads"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_leadcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Leads"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_leadcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Leads"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_leadcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "location": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "requirement": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "source": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "new",
                                            "contacted",
                                            "qualified",
                                            "converted",
                                            "lost"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, in:new,contacted,qualified,converted,lost"
                                    },
                                    "lead_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/leads/{id}/convert": {
            "post": {
                "tags": [
                    "Leads"
                ],
                "summary": "Convert",
                "description": "**Access:** JWT required, franchise",
                "operationId": "post_leadcontroller_convert",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "password": {
                                        "type": "string",
                                        "minLength": 6,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, min:6"
                                    },
                                    "address": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:2000"
                                    },
                                    "customer_type": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Leads"
                ],
                "summary": "Convert",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_leadcontroller_convert",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "password": {
                                        "type": "string",
                                        "minLength": 6,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, min:6"
                                    },
                                    "address": {
                                        "type": "string",
                                        "maxLength": 2000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:2000"
                                    },
                                    "customer_type": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/link-franchise-account": {
            "post": {
                "tags": [
                    "Link Franchise Account"
                ],
                "summary": "Link Account",
                "description": "POST /api/franchise/link-account Link logged-in franchise user to a franchise row (user_id was null). Requires matching phone_number \u2194 franchise_phone_number.\n\n**Access:** JWT required, franchise",
                "operationId": "post_franchisecontroller_linkaccount",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "franchise_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/login": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Login",
                "description": "Returns JWT `access_token` and `refresh_token` for **any account type**.",
                "operationId": "post_authcontroller_login",
                "parameters": [],
                "security": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "any@example.com"
                                    },
                                    "password": {
                                        "type": "string",
                                        "example": "your_password"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "Technician login alternative to email"
                                    }
                                },
                                "required": [
                                    "email",
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Login successful",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/JwtAuthResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid credentials",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/login/customer": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Customer Login",
                "description": "POST /api/customer/login \u2014 email + password only (+ optional franchise_id). No type field.",
                "operationId": "post_authcontroller_customerlogin",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Validation: required, email"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "email",
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/api/login/franchise": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Franchise Login",
                "description": "POST /api/franchise/login \u2014 franchise accounts only; auto-resolves franchise from Bearer user.",
                "operationId": "post_authcontroller_franchiselogin",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Validation: required, email"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    }
                                },
                                "required": [
                                    "email",
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/api/logina": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Login (legacy alias)",
                "description": "Deprecated alias. Prefer `POST /api/login` or role-specific login endpoints.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email"
                                    },
                                    "password": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "email",
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Login successful",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/JwtAuthResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid credentials",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/api/logout": {
            "post": {
                "tags": [
                    "Auth (JWT)"
                ],
                "summary": "Logout (invalidate JWT)",
                "description": "POST /api/logout Invalidate the current access token when a Bearer token is sent. Public route \u2014 always returns success so clients can clear local session even when the franchise was archived or the account was deactivated.",
                "operationId": "post_authcontroller_logout",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/machines": {
            "get": {
                "tags": [
                    "Machines"
                ],
                "summary": "Index",
                "description": "GET /api/machines Retrieve all machines with optional filtering by status, customer, or serial number.\n\n**Access:** JWT required",
                "operationId": "get_machinecontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Machines"
                ],
                "summary": "Store",
                "description": "POST /api/machines Create a new machine record. Franchise users can only create machines for their franchise.\n\n**Access:** JWT required",
                "operationId": "post_machinecontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/machines/statistics/summary": {
            "get": {
                "tags": [
                    "Machines"
                ],
                "summary": "Get Statistics",
                "description": "GET /api/machines/statistics/summary Retrieve machine statistics showing total machines, active units, under repair, and service due counts.\n\n**Access:** JWT required",
                "operationId": "get_machinecontroller_getstatistics",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/machines/{id}": {
            "delete": {
                "tags": [
                    "Machines"
                ],
                "summary": "Destroy",
                "description": "DELETE /api/machines/{id} Delete a machine record.\n\n**Access:** JWT required",
                "operationId": "delete_machinecontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Machines"
                ],
                "summary": "Show",
                "description": "GET /api/machines/{id} Retrieve a specific machine by ID.\n\n**Access:** JWT required",
                "operationId": "get_machinecontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Machines"
                ],
                "summary": "Update",
                "description": "PUT /api/machines/{id} Update an existing machine record.\n\n**Access:** JWT required",
                "operationId": "put_machinecontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/offers": {
            "get": {
                "tags": [
                    "Offers"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required",
                "operationId": "get_offercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Offers"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required",
                "operationId": "post_offercontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/offers/{id}": {
            "delete": {
                "tags": [
                    "Offers"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_offercontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Offers"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_offercontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Offers"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_offercontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/payment-entries": {
            "get": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "List payment entries (franchise/admin)",
                "description": "Franchise users see only their franchise rows. Filter by `payment_number`. Each row includes `paid_to`, `narration`, and nested `account_master`.",
                "operationId": "get_paymententrycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "payment_number",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Payment entries",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PaymentEntry"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Create payment entry (franchise/admin)",
                "description": "Free-form: `paid_to` or `account_master_id` (or `company_name`) + `amount`. Linked: `reference_type` + `reference_id` (`tax_invoice` or `purchase`). Omit `payment_number` \u2192 auto `TRN-####`. `narration` \u2192 `remarks`. Franchise `franchise_id` is resolved from the logged-in user.",
                "operationId": "post_paymententrycontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PaymentEntryCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Payment entry created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/PaymentEntry"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/payment-entries/{id}": {
            "delete": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Delete payment entry (franchise/admin)",
                "description": "**Access:** JWT required",
                "operationId": "delete_paymententrycontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Payment entry deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Payment entry detail (franchise/admin)",
                "description": "**Access:** JWT required",
                "operationId": "get_paymententrycontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Payment entry",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/PaymentEntry"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Update payment entry (franchise/admin)",
                "description": "**Access:** JWT required",
                "operationId": "put_paymententrycontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PaymentEntryCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Payment entry updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/PaymentEntry"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/payment-images": {
            "post": {
                "tags": [
                    "Payment Images"
                ],
                "summary": "Store",
                "description": "POST /api/payment-images Create a payment image record for a task. Supports either uploaded file or plain string path/URL.\n\n**Access:** JWT required",
                "operationId": "post_paymentimagecontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "full_functionality_task_id": {
                                        "type": "string",
                                        "description": "Validation: required, exists:full_functionality_tasks,id"
                                    },
                                    "uploaded_at": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    }
                                },
                                "required": [
                                    "full_functionality_task_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/payment-images/{id}": {
            "get": {
                "tags": [
                    "Payment Images"
                ],
                "summary": "Show",
                "description": "GET /api/payment-images/{id} Fetch payment image record by table id.\n\n**Access:** JWT required",
                "operationId": "get_paymentimagecontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/payments": {
            "get": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Index",
                "description": "Display a listing of the resource.\n\n**Access:** JWT required",
                "operationId": "get_paymentcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/payments/{id}": {
            "get": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Show",
                "description": "Display the specified resource.\n\n**Access:** JWT required",
                "operationId": "get_paymentcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Update",
                "description": "Update the specified resource in storage.\n\n**Access:** JWT required",
                "operationId": "put_paymentcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "pending",
                                            "paid",
                                            "failed"
                                        ],
                                        "description": "Validation: required, in:pending,paid,failed"
                                    },
                                    "payment_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    }
                                },
                                "required": [
                                    "status"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/process-reason-masters": {
            "get": {
                "tags": [
                    "Process Reason Masters"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required",
                "operationId": "get_processreasonmastercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Process Reason Masters"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required",
                "operationId": "post_processreasonmastercontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "reason": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    }
                                },
                                "required": [
                                    "reason"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/process-reason-masters/{id}": {
            "delete": {
                "tags": [
                    "Process Reason Masters"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_processreasonmastercontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Process Reason Masters"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_processreasonmastercontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Process Reason Masters"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_processreasonmastercontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "reason": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/product-enquiries": {
            "get": {
                "tags": [
                    "Product Enquiries"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required",
                "operationId": "get_productenquirycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Product Enquiries"
                ],
                "summary": "Store",
                "description": "POST /api/customer/product-enquiries \u2014 customer submits for self. POST /api/franchise/product-enquiries \u2014 franchise submits for a customer (customer_id required). POST /api/product-enquiries \u2014 same store handler for customer, franchise, or admin.\n\n**Access:** JWT required",
                "operationId": "post_productenquirycontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "product_category": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "product_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "subject": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "source": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50"
                                    },
                                    "details": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/product-enquiries/{id}": {
            "delete": {
                "tags": [
                    "Product Enquiries"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_productenquirycontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Product Enquiries"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_productenquirycontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Product Enquiries"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_productenquirycontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "product_category": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "product_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "details": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/products": {
            "post": {
                "tags": [
                    "Products & Inventory"
                ],
                "summary": "Create product",
                "description": "Optional `barcode` must be unique across products. Duplicate barcodes return 422.",
                "operationId": "post_productscontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProductCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Product created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/profile": {
            "get": {
                "tags": [
                    "Auth (JWT)"
                ],
                "summary": "Current user profile",
                "description": "GET /api/profile Return the authenticated user.\n\n**Access:** JWT required",
                "operationId": "get_authcontroller_profile",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Profile payload with user + linked customer when applicable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/purchase-returns": {
            "get": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "List purchase returns with line items",
                "description": "Each row includes optional `purchase_id` link and `items[]` with optional `purchase_item_id` per line.",
                "operationId": "get_purchasereturncontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "return_number",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Purchase returns with line items",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PurchaseReturn"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Create purchase return with line items",
                "description": "`purchase_id` is optional. When `items[]` is sent, header totals are computed from line items.",
                "operationId": "post_purchasereturncontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PurchaseReturnCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Purchase return created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/purchase-returns/{id}": {
            "delete": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_purchasereturncontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Purchase return detail with line items",
                "description": "**Access:** JWT required",
                "operationId": "get_purchasereturncontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Purchase return header + items[]",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PurchaseReturn"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Update purchase return",
                "description": "If `items` key is present \u2192 replace all line items. Omit `items` to leave existing lines unchanged.",
                "operationId": "put_purchasereturncontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PurchaseReturnCreateRequest"
                            }
                        }
                    }
                }
            }
        },
        "/api/purchases": {
            "get": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "List purchases with line items",
                "description": "Each row includes `items[]`, `items_count`, and `line_items_total` (sum of line totals). Header `total_amount` equals `line_items_total` when `add_less` is 0.",
                "operationId": "get_purchasecontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "purchase_number",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "code",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Purchases with line items",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Purchase"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Create purchase with line items",
                "description": "When `items[]` is sent, header totals are computed from line items. Omit `items` for legacy header-only create.",
                "operationId": "post_purchasecontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PurchaseCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Purchase created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/purchases/{id}": {
            "delete": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_purchasecontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Purchase detail with line items",
                "description": "**Access:** JWT required",
                "operationId": "get_purchasecontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Purchase header + items[]",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Purchase"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Update purchase",
                "description": "If `items` key is present \u2192 replace all line items. Omit `items` to leave existing lines unchanged.",
                "operationId": "put_purchasecontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PurchaseCreateRequest"
                            }
                        }
                    }
                }
            }
        },
        "/api/receipt-entries": {
            "get": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "List receipt entries (franchise/admin)",
                "description": "Franchise-scoped list. Filter by `receipt_number`. Rows include deposit account (`receipt_ac`), party (`received_from`), and nested bank/party account objects.",
                "operationId": "get_receiptentrycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "receipt_number",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Receipt entries",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ReceiptEntry"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Create receipt entry (franchise/admin)",
                "description": "Free-form: `received_from` (account id or company name) + `amount` + deposit account (`bank_master_id`, `receipt_ac`, or `cash_bank_account`). Linked invoice optional via `reference_type` + `reference_id`. Omit `receipt_number` \u2192 auto `RE-####`.",
                "operationId": "post_receiptentrycontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReceiptEntryCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Receipt entry created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/ReceiptEntry"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/receipt-entries/{id}": {
            "delete": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Delete receipt entry (franchise/admin)",
                "description": "**Access:** JWT required",
                "operationId": "delete_receiptentrycontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Receipt entry deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Receipt entry detail (franchise/admin)",
                "description": "**Access:** JWT required",
                "operationId": "get_receiptentrycontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Receipt entry",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ReceiptEntry"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Update receipt entry (franchise/admin)",
                "description": "**Access:** JWT required",
                "operationId": "put_receiptentrycontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReceiptEntryCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Receipt entry updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/ReceiptEntry"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/refresh": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Refresh JWT access token",
                "description": "Exchange a valid `refresh_token` for a new access + refresh pair.",
                "operationId": "post_authcontroller_refresh",
                "parameters": [],
                "security": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RefreshTokenRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Login successful",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/JwtAuthResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid credentials",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/refresh-token": {
            "post": {
                "tags": [
                    "Refresh Token"
                ],
                "summary": "Refresh JWT (alias)",
                "description": "POST /api/refresh Exchange refresh_token (or reference_token alias) for new access + refresh tokens.",
                "operationId": "post_authcontroller_refresh",
                "parameters": [],
                "security": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RefreshTokenRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Login successful",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/JwtAuthResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid credentials",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/register": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Register",
                "description": "POST /api/register \u2014 customer self-register (no type field). Body: email, password (+ optional first_name, last_name, phone_number, franchise_id). Admin/franchise/technician accounts cannot use this URL.",
                "operationId": "post_authcontroller_register",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "Validation: The email has already been taken."
                                    },
                                    "username": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50, unique:users,username"
                                    },
                                    "password": {
                                        "type": "string",
                                        "minLength": 6,
                                        "description": "Validation: required, string, min:6"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/api/registerCustomer": {
            "post": {
                "tags": [
                    "Registercustomer"
                ],
                "summary": "Customer Register",
                "description": "POST /api/customer/register \u2014 same as POST /api/register (no type field).",
                "operationId": "post_authcontroller_customerregister",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "description": "Validation: The email has already been taken."
                                    },
                                    "username": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:50, unique:users,username"
                                    },
                                    "password": {
                                        "type": "string",
                                        "minLength": 6,
                                        "description": "Validation: required, string, min:6"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "password"
                                ]
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/api/rental-plans": {
            "get": {
                "tags": [
                    "Rental Plans"
                ],
                "summary": "List rental plans (franchise/admin)",
                "description": "GET /api/admin/rental-plans GET /api/rental-plans\n\n**Access:** JWT required",
                "operationId": "get_rentalplancontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "active_only",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "plan_type",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Rental Plans"
                ],
                "summary": "Create rental plan (franchise/admin)",
                "description": "POST /api/admin/rental-plans POST /api/rental-plans\n\n**Access:** JWT required",
                "operationId": "post_rentalplancontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "description": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "product_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "model_number": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    },
                                    "plan_type": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    },
                                    "price": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "monthly_rent": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "billing_cycle": {
                                        "type": "string",
                                        "enum": [
                                            "monthly",
                                            "yearly"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, in:monthly,yearly"
                                    },
                                    "features": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "maxLength": 255,
                                            "nullable": true,
                                            "description": "Validation: nullable, string, max:255"
                                        },
                                        "nullable": true,
                                        "description": "Validation: nullable, array"
                                    },
                                    "security_deposit": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "duration_months": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:1"
                                    },
                                    "specifications": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "is_active": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    },
                                    "is_most_popular": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "name"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/rental-plans/{id}": {
            "delete": {
                "tags": [
                    "Rental Plans"
                ],
                "summary": "Delete rental plan (franchise/admin)",
                "description": "Franchise may delete branch-owned plans only. Global plans (`franchise_id` null) require admin. Returns 422 if subscriptions still reference the plan \u2014 use `is_active=false` instead.",
                "operationId": "delete_rentalplancontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Rental plan deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "Rental Plans"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_rentalplancontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Rental Plans"
                ],
                "summary": "Update rental plan (franchise/admin)",
                "description": "**Access:** JWT required",
                "operationId": "put_rentalplancontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "description": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "product_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "model_number": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    },
                                    "plan_type": {
                                        "type": "string",
                                        "maxLength": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:100"
                                    },
                                    "price": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "monthly_rent": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "billing_cycle": {
                                        "type": "string",
                                        "enum": [
                                            "monthly",
                                            "yearly"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, in:monthly,yearly"
                                    },
                                    "features": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "maxLength": 255,
                                            "nullable": true,
                                            "description": "Validation: nullable, string, max:255"
                                        },
                                        "nullable": true,
                                        "description": "Validation: nullable, array"
                                    },
                                    "security_deposit": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "duration_months": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:1"
                                    },
                                    "specifications": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "is_active": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    },
                                    "is_most_popular": {
                                        "type": "boolean",
                                        "nullable": true,
                                        "description": "Validation: nullable, boolean"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/rental-products": {
            "get": {
                "tags": [
                    "Rental Products"
                ],
                "summary": "List rental products",
                "description": "GET /api/rental-products GET /api/franchise/rental-products\n\n**Access:** JWT required",
                "operationId": "get_rentalproductcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Rental Products"
                ],
                "summary": "Create rental product / installation",
                "description": "Accepts installation GPS (`latitude`, `longitude`, `accuracy_m`, `captured_at`).",
                "operationId": "post_rentalproductcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "product_id": {
                                        "type": "integer"
                                    },
                                    "customer_id": {
                                        "type": "integer",
                                        "nullable": true
                                    },
                                    "installation_address": {
                                        "type": "string"
                                    },
                                    "latitude": {
                                        "type": "number"
                                    },
                                    "longitude": {
                                        "type": "number"
                                    },
                                    "accuracy_m": {
                                        "type": "number"
                                    },
                                    "captured_at": {
                                        "type": "string",
                                        "format": "date-time"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/rental-products/dashboard/overdue-count": {
            "get": {
                "tags": [
                    "Rental Products"
                ],
                "summary": "Overdue Count",
                "description": "GET /api/rental-products/dashboard/overdue-count\n\n**Access:** JWT required, franchise",
                "operationId": "get_rentalproductcontroller_overduecount",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/rental-products/dashboard/pending-count": {
            "get": {
                "tags": [
                    "Rental Products"
                ],
                "summary": "Pending Count",
                "description": "GET /api/rental-products/dashboard/pending-count\n\n**Access:** JWT required, franchise",
                "operationId": "get_rentalproductcontroller_pendingcount",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/rental-products/{id}": {
            "delete": {
                "tags": [
                    "Rental Products"
                ],
                "summary": "Destroy",
                "description": "DELETE /api/rental-products/{id} DELETE /api/franchise/rental-products/{id}\n\n**Access:** JWT required",
                "operationId": "delete_rentalproductcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Rental Products"
                ],
                "summary": "Show",
                "description": "GET /api/rental-products/{id} GET /api/franchise/rental-products/{id}\n\n**Access:** JWT required",
                "operationId": "get_rentalproductcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Rental Products"
                ],
                "summary": "Update",
                "description": "PUT /api/rental-products/{id} PUT /api/franchise/rental-products/{id}\n\n**Access:** JWT required",
                "operationId": "put_rentalproductcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/rental-products/{id}/rent": {
            "post": {
                "tags": [
                    "Rental Products"
                ],
                "summary": "Rent",
                "description": "Customer rents an available device. POST /api/rental-products/{id}/rent\n\n**Access:** JWT required",
                "operationId": "post_rentalproductcontroller_rent",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "installation_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "installation_address": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "start_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "end_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date, after_or_equal:start_date"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/bos-amc/detail": {
            "get": {
                "tags": [
                    "Reports \u2014 Bos Amc"
                ],
                "summary": "Index",
                "description": "Live BOS / AMC Detail report. Columns: inv_no,date,code,customer_name,type,cont_due,item_name,qty,rate,discount,amount,username Filters: from,to,bill_type,party_name,inv_no,item_name,item_group,item_category\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportbosamcdetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/bos-amc/detail/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Bos Amc"
                ],
                "summary": "Store Snapshot",
                "description": "Generate BOS/AMC Detail rows and store them into bos_amc_detail_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportbosamcdetailcontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "bill_type": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_group": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_category": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/bos-amc/detail/snapshots": {
            "get": {
                "tags": [
                    "Reports \u2014 Bos Amc"
                ],
                "summary": "Snapshots Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportbosamcdetailcontroller_snapshotsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/bos-amc/detail/snapshots/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Bos Amc"
                ],
                "summary": "Snapshots Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_reportbosamcdetailcontroller_snapshotsdestroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Reports \u2014 Bos Amc"
                ],
                "summary": "Snapshots Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportbosamcdetailcontroller_snapshotsshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 Bos Amc"
                ],
                "summary": "Snapshots Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_reportbosamcdetailcontroller_snapshotsupdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "item_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "qty": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    },
                                    "rate": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "discount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "username": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/bos-amc/summary": {
            "get": {
                "tags": [
                    "Reports \u2014 Bos Amc"
                ],
                "summary": "Index",
                "description": "Live BOS / AMC Summary report. Columns: inv_no,date,code,customer_name,city,contact,c_from,c_to,service,type,total_amt,user Filters: from,to,bill_type,party_name,inv_no\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportbosamcsummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/bos-amc/summary/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Bos Amc"
                ],
                "summary": "Store Snapshot",
                "description": "Generate BOS/AMC Summary rows and store them into bos_amc_summary_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportbosamcsummarycontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "bill_type": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/bos-amc/summary/snapshots": {
            "get": {
                "tags": [
                    "Reports \u2014 Bos Amc"
                ],
                "summary": "Snapshots Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportbosamcsummarycontroller_snapshotsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/bos-amc/summary/snapshots/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Bos Amc"
                ],
                "summary": "Snapshots Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_reportbosamcsummarycontroller_snapshotsdestroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Reports \u2014 Bos Amc"
                ],
                "summary": "Snapshots Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportbosamcsummarycontroller_snapshotsshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 Bos Amc"
                ],
                "summary": "Snapshots Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_reportbosamcsummarycontroller_snapshotsupdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "customer_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "city": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "contact": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "service": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "type": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "total_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "user": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/bos_amc/detail": {
            "get": {
                "tags": [
                    "Reports \u2014 Bos Amc"
                ],
                "summary": "Index",
                "description": "Live BOS / AMC Detail report. Columns: inv_no,date,code,customer_name,type,cont_due,item_name,qty,rate,discount,amount,username Filters: from,to,bill_type,party_name,inv_no,item_name,item_group,item_category\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportbosamcdetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/bos_amc/detail/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Bos Amc"
                ],
                "summary": "Store Snapshot",
                "description": "Generate BOS/AMC Detail rows and store them into bos_amc_detail_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportbosamcdetailcontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "bill_type": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_group": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_category": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/bos_amc/summary": {
            "get": {
                "tags": [
                    "Reports \u2014 Bos Amc"
                ],
                "summary": "Index",
                "description": "Live BOS / AMC Summary report. Columns: inv_no,date,code,customer_name,city,contact,c_from,c_to,service,type,total_amt,user Filters: from,to,bill_type,party_name,inv_no\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportbosamcsummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/bos_amc/summary/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Bos Amc"
                ],
                "summary": "Store Snapshot",
                "description": "Generate BOS/AMC Summary rows and store them into bos_amc_summary_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportbosamcsummarycontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "bill_type": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/cash-bank-book": {
            "get": {
                "tags": [
                    "Reports \u2014 Cash Bank Book"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportcashbankbookcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/cash_bank_book": {
            "get": {
                "tags": [
                    "Reports \u2014 Cash Bank Book"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportcashbankbookcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/complain/close-detail": {
            "get": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Index",
                "description": "Live Complain Close Detail report. Columns: comp_no,ref_no,date,customer_name,itemname,partname,technician,service_type,status,problem Filters: from,to,party_name,inv_no,comp_no,part_name,technician,item_name,service_type,status Note: DB doesn't have part/service_type/inv_no. Those columns return null. Default behavior: only \"closed\" complaints (status=complete) unless status filter is provided.\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportcomplainclosedetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/complain/close-detail/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into complain_close_detail_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportcomplainclosedetailcontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "comp_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "part_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "technician": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "service_type": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "status": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/complain/close-detail/snapshots": {
            "get": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Snapshots Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportcomplainclosedetailcontroller_snapshotsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/complain/close-detail/snapshots/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Snapshots Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_reportcomplainclosedetailcontroller_snapshotsdestroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Snapshots Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportcomplainclosedetailcontroller_snapshotsshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Snapshots Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_reportcomplainclosedetailcontroller_snapshotsupdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "technician": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "service_type": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "partname": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "problem": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/complain/close-summary": {
            "get": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Index",
                "description": "Live Complain Close Summary report. Columns: comp_no,ref_no,date,close_date,code,customer_name,contact,area,itemname,technician,service_type,amount Filters: from,to,party_name,inv_no,comp_no,technician,item_name,service_type,status Note: DB doesn't have close_date/amount/area/service_type/inv_no. Those are best-effort/null/0. Default behavior: only \"closed\" complaints (status=complete) unless status filter is provided.\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportcomplainclosesummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/complain/close-summary/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into complain_close_summary_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportcomplainclosesummarycontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "comp_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "technician": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "service_type": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "status": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/complain/close-summary/snapshots": {
            "get": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Snapshots Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportcomplainclosesummarycontroller_snapshotsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/complain/close-summary/snapshots/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Snapshots Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_reportcomplainclosesummarycontroller_snapshotsdestroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Snapshots Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportcomplainclosesummarycontroller_snapshotsshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Snapshots Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_reportcomplainclosesummarycontroller_snapshotsupdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "close_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "status": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "technician": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "service_type": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/complain/summary": {
            "get": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Index",
                "description": "Live Complain Summary report. Columns: comp_no,ref_no,date,code,customer_name,contact,area,itemname,technician,service_type,status,problem Filters: from,to,party_name,inv_no,comp_no,technician,item_name,service_type,status\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportcomplainsummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/complain/summary/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into complain_summary_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportcomplainsummarycontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "comp_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "technician": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "service_type": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "status": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/complain/summary/snapshots": {
            "get": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Snapshots Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportcomplainsummarycontroller_snapshotsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/complain/summary/snapshots/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Snapshots Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_reportcomplainsummarycontroller_snapshotsdestroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Snapshots Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportcomplainsummarycontroller_snapshotsshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 Complain"
                ],
                "summary": "Snapshots Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_reportcomplainsummarycontroller_snapshotsupdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "technician": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "service_type": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "problem": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/complain_close_detail": {
            "get": {
                "tags": [
                    "Reports \u2014 Complain Close Detail"
                ],
                "summary": "Index",
                "description": "Live Complain Close Detail report. Columns: comp_no,ref_no,date,customer_name,itemname,partname,technician,service_type,status,problem Filters: from,to,party_name,inv_no,comp_no,part_name,technician,item_name,service_type,status Note: DB doesn't have part/service_type/inv_no. Those columns return null. Default behavior: only \"closed\" complaints (status=complete) unless status filter is provided.\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportcomplainclosedetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/complain_close_detail/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Complain Close Detail"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into complain_close_detail_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportcomplainclosedetailcontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "comp_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "part_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "technician": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "service_type": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "status": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/complain_close_summary": {
            "get": {
                "tags": [
                    "Reports \u2014 Complain Close Summary"
                ],
                "summary": "Index",
                "description": "Live Complain Close Summary report. Columns: comp_no,ref_no,date,close_date,code,customer_name,contact,area,itemname,technician,service_type,amount Filters: from,to,party_name,inv_no,comp_no,technician,item_name,service_type,status Note: DB doesn't have close_date/amount/area/service_type/inv_no. Those are best-effort/null/0. Default behavior: only \"closed\" complaints (status=complete) unless status filter is provided.\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportcomplainclosesummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/complain_close_summary/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Complain Close Summary"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into complain_close_summary_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportcomplainclosesummarycontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "comp_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "technician": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "service_type": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "status": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/complain_summary": {
            "get": {
                "tags": [
                    "Reports \u2014 Complain Summary"
                ],
                "summary": "Index",
                "description": "Live Complain Summary report. Columns: comp_no,ref_no,date,code,customer_name,contact,area,itemname,technician,service_type,status,problem Filters: from,to,party_name,inv_no,comp_no,technician,item_name,service_type,status\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportcomplainsummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/complain_summary/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Complain Summary"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into complain_summary_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportcomplainsummarycontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "comp_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "technician": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "service_type": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "status": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/party-multiple-ledger": {
            "get": {
                "tags": [
                    "Reports \u2014 Party Multiple Ledger"
                ],
                "summary": "Index",
                "description": "Party Multiple Ledger (franchise or admin scoped).\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportpartymultipleledgercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/party-single-ledger": {
            "get": {
                "tags": [
                    "Reports \u2014 Party Single Ledger"
                ],
                "summary": "Index",
                "description": "Party Single Ledger (franchise or admin scoped).\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportpartysingleledgercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/party_multiple_ledger": {
            "get": {
                "tags": [
                    "Reports \u2014 Party Multiple Ledger"
                ],
                "summary": "Index",
                "description": "Party Multiple Ledger (franchise or admin scoped).\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportpartymultipleledgercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/party_single_ledger": {
            "get": {
                "tags": [
                    "Reports \u2014 Party Single Ledger"
                ],
                "summary": "Index",
                "description": "Party Single Ledger (franchise or admin scoped).\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportpartysingleledgercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/product-inquiry": {
            "get": {
                "tags": [
                    "Reports \u2014 Product Inquiry"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportproductinquirycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/product-inquiry/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Product Inquiry"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_reportproductinquirycontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/product-ledger": {
            "get": {
                "tags": [
                    "Reports \u2014 Product Ledger"
                ],
                "summary": "Index",
                "description": "Product Ledger (franchise or admin scoped). Columns: date, customer_name, type, trn_no, qty Filters: product_id (or item_name), from, to; admin: franchise_id (optional)\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportproductledgercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/product_inquiry": {
            "get": {
                "tags": [
                    "Reports \u2014 Product Inquiry"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportproductinquirycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/product_inquiry/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Product Inquiry"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_reportproductinquirycontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/product_ledger": {
            "get": {
                "tags": [
                    "Reports \u2014 Product Ledger"
                ],
                "summary": "Index",
                "description": "Product Ledger (franchise or admin scoped). Columns: date, customer_name, type, trn_no, qty Filters: product_id (or item_name), from, to; admin: franchise_id (optional)\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportproductledgercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/purchase-return/detail": {
            "get": {
                "tags": [
                    "Reports \u2014 Purchase Return"
                ],
                "summary": "Index",
                "description": "Live Purchase Return Detail report. Columns: inv_no,date,code,customer_name,type,item_name,qty,rate,gst,gross_amt,disc_amt,sgst_amt,cgst_amt,igst_amt,total_amt Filters: from,to,party_name,inv_no,item_name,item_group,item_category\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportpurchasereturndetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/purchase-return/detail/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Purchase Return"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into purchase_return_detail_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportpurchasereturndetailcontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_group": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_category": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/purchase-return/detail/snapshots": {
            "get": {
                "tags": [
                    "Reports \u2014 Purchase Return"
                ],
                "summary": "Snapshots Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportpurchasereturndetailcontroller_snapshotsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/purchase-return/detail/snapshots/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Purchase Return"
                ],
                "summary": "Snapshots Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_reportpurchasereturndetailcontroller_snapshotsdestroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Reports \u2014 Purchase Return"
                ],
                "summary": "Snapshots Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportpurchasereturndetailcontroller_snapshotsshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 Purchase Return"
                ],
                "summary": "Snapshots Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_reportpurchasereturndetailcontroller_snapshotsupdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "item_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "qty": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    },
                                    "rate": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "gst": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "gross_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "disc_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "sgst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "cgst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "igst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "total_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/purchase-return/summary": {
            "get": {
                "tags": [
                    "Reports \u2014 Purchase Return"
                ],
                "summary": "Index",
                "description": "Live Purchase Return Summary report. Columns: inv_no,date,code,customer_name,gst,contact,state,gst_type,user Filters: from,to,party_name,inv_no\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportpurchasereturnsummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/purchase-return/summary/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Purchase Return"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into purchase_return_summary_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportpurchasereturnsummarycontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/purchase-return/summary/snapshots": {
            "get": {
                "tags": [
                    "Reports \u2014 Purchase Return"
                ],
                "summary": "Snapshots Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportpurchasereturnsummarycontroller_snapshotsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/purchase-return/summary/snapshots/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Purchase Return"
                ],
                "summary": "Snapshots Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_reportpurchasereturnsummarycontroller_snapshotsdestroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Reports \u2014 Purchase Return"
                ],
                "summary": "Snapshots Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportpurchasereturnsummarycontroller_snapshotsshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 Purchase Return"
                ],
                "summary": "Snapshots Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_reportpurchasereturnsummarycontroller_snapshotsupdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "customer_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "gst": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "contact": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "state": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "gst_type": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "user": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/purchase/detail": {
            "get": {
                "tags": [
                    "Reports \u2014 Purchase"
                ],
                "summary": "Index",
                "description": "Live Purchase Detail report. Columns: inv_no,date,code,customer_name,type,item_name,qty,rate,gst,gross_amt,disc_amt,sgst_amt,cgst_amt,igst_amt,total_amt Filters: from,to,party_name,inv_no,item_name,item_group,item_category\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportpurchasedetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/purchase/detail/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Purchase"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into purchase_detail_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportpurchasedetailcontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_group": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_category": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/purchase/detail/snapshots": {
            "get": {
                "tags": [
                    "Reports \u2014 Purchase"
                ],
                "summary": "Snapshots Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportpurchasedetailcontroller_snapshotsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/purchase/detail/snapshots/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Purchase"
                ],
                "summary": "Snapshots Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_reportpurchasedetailcontroller_snapshotsdestroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Reports \u2014 Purchase"
                ],
                "summary": "Snapshots Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportpurchasedetailcontroller_snapshotsshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 Purchase"
                ],
                "summary": "Snapshots Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_reportpurchasedetailcontroller_snapshotsupdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "item_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "qty": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    },
                                    "rate": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "gst": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "gross_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "disc_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "sgst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "cgst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "igst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "total_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/purchase/summary": {
            "get": {
                "tags": [
                    "Reports \u2014 Purchase"
                ],
                "summary": "Index",
                "description": "Live Purchase Summary report. Columns: inv_no,date,code,customer_name,type,gstin,gross_amt,sgst_amt,cgst_amt,igst_amt,add_less,total_amt Filters: from,to,party_name,inv_no\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportpurchasesummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/purchase/summary/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Purchase"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into purchase_summary_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportpurchasesummarycontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/purchase/summary/snapshots": {
            "get": {
                "tags": [
                    "Reports \u2014 Purchase"
                ],
                "summary": "Snapshots Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportpurchasesummarycontroller_snapshotsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/purchase/summary/snapshots/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Purchase"
                ],
                "summary": "Snapshots Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_reportpurchasesummarycontroller_snapshotsdestroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Reports \u2014 Purchase"
                ],
                "summary": "Snapshots Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportpurchasesummarycontroller_snapshotsshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 Purchase"
                ],
                "summary": "Snapshots Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_reportpurchasesummarycontroller_snapshotsupdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "customer_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "type": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "gross_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "sgst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "cgst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "igst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "add_less": {
                                        "type": "number",
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric"
                                    },
                                    "total_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/purchase_detail": {
            "get": {
                "tags": [
                    "Reports \u2014 Purchase Detail"
                ],
                "summary": "Index",
                "description": "Live Purchase Detail report. Columns: inv_no,date,code,customer_name,type,item_name,qty,rate,gst,gross_amt,disc_amt,sgst_amt,cgst_amt,igst_amt,total_amt Filters: from,to,party_name,inv_no,item_name,item_group,item_category\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportpurchasedetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/purchase_detail/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Purchase Detail"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into purchase_detail_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportpurchasedetailcontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_group": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_category": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/purchase_return/detail": {
            "get": {
                "tags": [
                    "Reports \u2014 Purchase Return"
                ],
                "summary": "Index",
                "description": "Live Purchase Return Detail report. Columns: inv_no,date,code,customer_name,type,item_name,qty,rate,gst,gross_amt,disc_amt,sgst_amt,cgst_amt,igst_amt,total_amt Filters: from,to,party_name,inv_no,item_name,item_group,item_category\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportpurchasereturndetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/purchase_return/detail/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Purchase Return"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into purchase_return_detail_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportpurchasereturndetailcontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_group": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_category": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/purchase_return/summary": {
            "get": {
                "tags": [
                    "Reports \u2014 Purchase Return"
                ],
                "summary": "Index",
                "description": "Live Purchase Return Summary report. Columns: inv_no,date,code,customer_name,gst,contact,state,gst_type,user Filters: from,to,party_name,inv_no\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportpurchasereturnsummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/purchase_return/summary/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Purchase Return"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into purchase_return_summary_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportpurchasereturnsummarycontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/purchase_summary": {
            "get": {
                "tags": [
                    "Reports \u2014 Purchase Summary"
                ],
                "summary": "Index",
                "description": "Live Purchase Summary report. Columns: inv_no,date,code,customer_name,type,gstin,gross_amt,sgst_amt,cgst_amt,igst_amt,add_less,total_amt Filters: from,to,party_name,inv_no\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportpurchasesummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/purchase_summary/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Purchase Summary"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into purchase_summary_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportpurchasesummarycontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/sales-amc/detail": {
            "get": {
                "tags": [
                    "Reports \u2014 Sales Amc"
                ],
                "summary": "Index",
                "description": "Live Sales / AMC Detail report (item-wise). Filters: from,to,bill_type,party_name,inv_no,item_name,item_group,item_category\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportsalesamcdetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/sales-amc/detail/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Sales Amc"
                ],
                "summary": "Store Snapshot",
                "description": "Generate detail rows and store them into sales_amc_detail_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportsalesamcdetailcontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "bill_type": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_group": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_category": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/sales-amc/detail/snapshots": {
            "get": {
                "tags": [
                    "Reports \u2014 Sales Amc"
                ],
                "summary": "Snapshots Index",
                "description": "CRUD: list stored snapshot rows (filter by batch_id).\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportsalesamcdetailcontroller_snapshotsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/sales-amc/detail/snapshots/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Sales Amc"
                ],
                "summary": "Snapshots Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_reportsalesamcdetailcontroller_snapshotsdestroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Reports \u2014 Sales Amc"
                ],
                "summary": "Snapshots Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportsalesamcdetailcontroller_snapshotsshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 Sales Amc"
                ],
                "summary": "Snapshots Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_reportsalesamcdetailcontroller_snapshotsupdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "item_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "qty": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    },
                                    "rate": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "gst": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "gross_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "disc_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "sgst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "cgst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "igst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "total_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/sales-amc/summary": {
            "get": {
                "tags": [
                    "Reports \u2014 Sales Amc"
                ],
                "summary": "Index",
                "description": "Sales / AMC Summary report (franchise). Columns expected by UI: inv_no, date, code, customer_name, type, gstin, gross_amt, sgst_amt, cgst_amt, igst_amt, add_less, total_amt Notes (based on current DB): - GSTIN not available in current schema \u2192 returned as null. - SGST/CGST computed as half of tax_amount; IGST as 0. - add_less computed as total - (gross + tax) (usually 0). Filters: from, to, bill_type, party_name, inv_no\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportsalesamcsummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/sales-amc/summary/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Sales Amc"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into sales_amc_summary_snapshots. Returns: batch_id so UI can fetch/export later if needed.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportsalesamcsummarycontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "bill_type": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/sales-return/detail": {
            "get": {
                "tags": [
                    "Reports \u2014 Sales Return"
                ],
                "summary": "Index",
                "description": "Live Sales Return Detail report. Columns: inv_no,date,code,customer_name,type,item_name,qty,rate,gst,gross_amt,disc_amt,sgst_amt,cgst_amt,igst_amt,total_amt Filters: from,to,party_name,inv_no,item_name,item_group,item_category\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportsalesreturndetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/sales-return/detail/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Sales Return"
                ],
                "summary": "Store Snapshot",
                "description": "Generate detail rows and store them into sales_return_detail_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportsalesreturndetailcontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_group": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_category": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/sales-return/detail/snapshots": {
            "get": {
                "tags": [
                    "Reports \u2014 Sales Return"
                ],
                "summary": "Snapshots Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportsalesreturndetailcontroller_snapshotsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/sales-return/detail/snapshots/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Sales Return"
                ],
                "summary": "Snapshots Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_reportsalesreturndetailcontroller_snapshotsdestroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Reports \u2014 Sales Return"
                ],
                "summary": "Snapshots Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportsalesreturndetailcontroller_snapshotsshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 Sales Return"
                ],
                "summary": "Snapshots Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_reportsalesreturndetailcontroller_snapshotsupdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "item_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "qty": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    },
                                    "rate": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "gst": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "gross_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "disc_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "sgst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "cgst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "igst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "total_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/sales-return/summary": {
            "get": {
                "tags": [
                    "Reports \u2014 Sales Return"
                ],
                "summary": "Index",
                "description": "Live Sales Return Summary report. Columns: inv_no,date,code,customer_name,type,gstin,gross_amt,sgst_amt,cgst_amt,igst_amt,add_less,total_amt Filters: from,to,party_name,inv_no\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportsalesreturnsummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/sales-return/summary/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Sales Return"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into sales_return_summary_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportsalesreturnsummarycontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/sales-return/summary/snapshots": {
            "get": {
                "tags": [
                    "Reports \u2014 Sales Return"
                ],
                "summary": "Snapshots Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportsalesreturnsummarycontroller_snapshotsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/sales-return/summary/snapshots/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Sales Return"
                ],
                "summary": "Snapshots Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_reportsalesreturnsummarycontroller_snapshotsdestroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Reports \u2014 Sales Return"
                ],
                "summary": "Snapshots Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportsalesreturnsummarycontroller_snapshotsshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 Sales Return"
                ],
                "summary": "Snapshots Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_reportsalesreturnsummarycontroller_snapshotsupdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "customer_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "type": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "gross_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "sgst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "cgst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "igst_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "add_less": {
                                        "type": "number",
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric"
                                    },
                                    "total_amt": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/sales_amc/detail": {
            "get": {
                "tags": [
                    "Reports \u2014 Sales Amc"
                ],
                "summary": "Index",
                "description": "Live Sales / AMC Detail report (item-wise). Filters: from,to,bill_type,party_name,inv_no,item_name,item_group,item_category\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportsalesamcdetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/sales_amc/detail/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Sales Amc"
                ],
                "summary": "Store Snapshot",
                "description": "Generate detail rows and store them into sales_amc_detail_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportsalesamcdetailcontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "bill_type": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_group": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_category": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/sales_amc/summary": {
            "get": {
                "tags": [
                    "Reports \u2014 Sales Amc"
                ],
                "summary": "Index",
                "description": "Sales / AMC Summary report (franchise). Columns expected by UI: inv_no, date, code, customer_name, type, gstin, gross_amt, sgst_amt, cgst_amt, igst_amt, add_less, total_amt Notes (based on current DB): - GSTIN not available in current schema \u2192 returned as null. - SGST/CGST computed as half of tax_amount; IGST as 0. - add_less computed as total - (gross + tax) (usually 0). Filters: from, to, bill_type, party_name, inv_no\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportsalesamcsummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/sales_amc/summary/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Sales Amc"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into sales_amc_summary_snapshots. Returns: batch_id so UI can fetch/export later if needed.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportsalesamcsummarycontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "bill_type": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/sales_return/detail": {
            "get": {
                "tags": [
                    "Reports \u2014 Sales Return"
                ],
                "summary": "Index",
                "description": "Live Sales Return Detail report. Columns: inv_no,date,code,customer_name,type,item_name,qty,rate,gst,gross_amt,disc_amt,sgst_amt,cgst_amt,igst_amt,total_amt Filters: from,to,party_name,inv_no,item_name,item_group,item_category\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportsalesreturndetailcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/sales_return/detail/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Sales Return"
                ],
                "summary": "Store Snapshot",
                "description": "Generate detail rows and store them into sales_return_detail_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportsalesreturndetailcontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_group": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "item_category": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/sales_return/summary": {
            "get": {
                "tags": [
                    "Reports \u2014 Sales Return"
                ],
                "summary": "Index",
                "description": "Live Sales Return Summary report. Columns: inv_no,date,code,customer_name,type,gstin,gross_amt,sgst_amt,cgst_amt,igst_amt,add_less,total_amt Filters: from,to,party_name,inv_no\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportsalesreturnsummarycontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/sales_return/summary/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Sales Return"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into sales_return_summary_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportsalesreturnsummarycontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "from": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "to": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    },
                                    "inv_no": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/schedule-service": {
            "get": {
                "tags": [
                    "Reports \u2014 Schedule Service"
                ],
                "summary": "Index",
                "description": "Live Schedule Service Report. Columns: inv_no,date,code,ref_compno,customer_name,area,contact,service_dt,type,status Filters: party_name\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportscheduleservicecontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/schedule-service/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Schedule Service"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into schedule_service_report_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportscheduleservicecontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/schedule-service/snapshots": {
            "get": {
                "tags": [
                    "Reports \u2014 Schedule Service"
                ],
                "summary": "Snapshots Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportscheduleservicecontroller_snapshotsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/schedule-service/snapshots/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Schedule Service"
                ],
                "summary": "Snapshots Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_reportscheduleservicecontroller_snapshotsdestroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Reports \u2014 Schedule Service"
                ],
                "summary": "Snapshots Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_reportscheduleservicecontroller_snapshotsshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 Schedule Service"
                ],
                "summary": "Snapshots Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_reportscheduleservicecontroller_snapshotsupdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "service_dt": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "status": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "type": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/schedule_service": {
            "get": {
                "tags": [
                    "Reports \u2014 Schedule Service"
                ],
                "summary": "Index",
                "description": "Live Schedule Service Report. Columns: inv_no,date,code,ref_compno,customer_name,area,contact,service_dt,type,status Filters: party_name\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportscheduleservicecontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/schedule_service/snapshot": {
            "post": {
                "tags": [
                    "Reports \u2014 Schedule Service"
                ],
                "summary": "Store Snapshot",
                "description": "Generate report rows and store them into schedule_service_report_snapshots.\n\n**Access:** JWT required, franchise",
                "operationId": "post_reportscheduleservicecontroller_storesnapshot",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "party_name": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/stock-reports": {
            "get": {
                "tags": [
                    "Reports \u2014 Stock Reports"
                ],
                "summary": "Index",
                "description": "Stock report list (paginated). Franchise or admin scoped. Filters: from, to, search (item_name), item_type; admin: franchise_id (optional)\n\n**Access:** JWT required, franchise",
                "operationId": "get_stockreportcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Reports \u2014 Stock Reports"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required, franchise",
                "operationId": "post_stockreportcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "product_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:products,id"
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "item_type": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "opening": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "purchase": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "purchase_return": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "sale": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "sale_return": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "complain": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "min_stock": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "total": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "report_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    }
                                },
                                "required": [
                                    "item_name"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/stock-reports/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Stock Reports"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_stockreportcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Reports \u2014 Stock Reports"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_stockreportcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 Stock Reports"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_stockreportcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "product_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:products,id"
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "item_type": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "opening": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "purchase": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "purchase_return": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "sale": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "sale_return": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "complain": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "min_stock": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "total": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "report_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/stock_reports": {
            "get": {
                "tags": [
                    "Reports \u2014 Stock Reports"
                ],
                "summary": "Index",
                "description": "Stock report list (paginated). Franchise or admin scoped. Filters: from, to, search (item_name), item_type; admin: franchise_id (optional)\n\n**Access:** JWT required, franchise",
                "operationId": "get_stockreportcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Reports \u2014 Stock Reports"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required, franchise",
                "operationId": "post_stockreportcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "product_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:products,id"
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "item_type": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "opening": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "purchase": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "purchase_return": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "sale": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "sale_return": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "complain": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "min_stock": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "total": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "report_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    }
                                },
                                "required": [
                                    "item_name"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/stock_reports/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 Stock Reports"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_stockreportcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Reports \u2014 Stock Reports"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_stockreportcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 Stock Reports"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_stockreportcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "product_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:products,id"
                                    },
                                    "item_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "item_type": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "opening": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "purchase": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "purchase_return": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "sale": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "sale_return": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "complain": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "min_stock": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "total": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer"
                                    },
                                    "report_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/technician-locations": {
            "get": {
                "tags": [
                    "Reports \u2014 Technician Locations"
                ],
                "summary": "Latest location per technician (franchise)",
                "description": "Latest (current) location for each technician under the caller's franchises. GET /api/reports/technician-locations | GET /api/admin/reports/technician-locations Query: franchise_id (admin), technician_id, only_with_location, stale_after_minutes\n\n**Access:** JWT required, franchise",
                "operationId": "get_techniciantrackinglogcontroller_currentlocationsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "only_with_location",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "stale_after_minutes",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 30
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/technician-locations/{technicianId}": {
            "get": {
                "tags": [
                    "Reports \u2014 Technician Locations"
                ],
                "summary": "Current Location Show",
                "description": "Latest location for one technician. GET /api/reports/technician-locations/{technicianId}\n\n**Access:** JWT required, franchise",
                "operationId": "get_techniciantrackinglogcontroller_currentlocationshow",
                "parameters": [
                    {
                        "name": "technicianId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/technician-stock": {
            "get": {
                "tags": [
                    "Reports \u2014 Technician Stock"
                ],
                "summary": "Index",
                "description": "Technician Stock Report (franchise scoped). Columns: item_name, technician, to_technician, from_technician, complain, total Filters: technician (id), from, to\n\n**Access:** JWT required, franchise",
                "operationId": "get_reporttechnicianstockcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/technician_locations": {
            "get": {
                "tags": [
                    "Reports \u2014 Technician Locations"
                ],
                "summary": "Current Locations Index",
                "description": "Latest (current) location for each technician under the caller's franchises. GET /api/reports/technician-locations | GET /api/admin/reports/technician-locations Query: franchise_id (admin), technician_id, only_with_location, stale_after_minutes\n\n**Access:** JWT required, franchise",
                "operationId": "get_techniciantrackinglogcontroller_currentlocationsindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/technician_locations/{technicianId}": {
            "get": {
                "tags": [
                    "Reports \u2014 Technician Locations"
                ],
                "summary": "Current Location Show",
                "description": "Latest location for one technician. GET /api/reports/technician-locations/{technicianId}\n\n**Access:** JWT required, franchise",
                "operationId": "get_techniciantrackinglogcontroller_currentlocationshow",
                "parameters": [
                    {
                        "name": "technicianId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/technician_stock": {
            "get": {
                "tags": [
                    "Reports \u2014 Technician Stock"
                ],
                "summary": "Index",
                "description": "Technician Stock Report (franchise scoped). Columns: item_name, technician, to_technician, from_technician, complain, total Filters: technician (id), from, to\n\n**Access:** JWT required, franchise",
                "operationId": "get_reporttechnicianstockcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/tracking-history": {
            "get": {
                "tags": [
                    "Reports \u2014 Tracking History"
                ],
                "summary": "Technician GPS tracking history (franchise)",
                "description": "Franchise users see GPS logs for technicians under their franchise. Returns paginated `data[]`, filter dropdown `technicians[]`, and echo of active `filters`. Also available at `/api/reports/tracking_history`.",
                "operationId": "get_techniciantrackinglogcontroller_reportindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "technician",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        },
                        "description": "Technician id or name substring; omit or `all` for all"
                    },
                    {
                        "name": "date",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Filter logs to this calendar date"
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tracking history with technician filter options",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TrackingHistoryResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/tracking_history": {
            "get": {
                "tags": [
                    "Reports \u2014 Tracking History"
                ],
                "summary": "Report Index",
                "description": "Tracking history report (franchise: own franchises; admin: all franchises under this admin). GET /api/reports/tracking-history | GET /api/admin/reports/tracking-history Filters: technician (id or name), date; for admin only: franchise_id (optional)\n\n**Access:** JWT required, franchise",
                "operationId": "get_techniciantrackinglogcontroller_reportindex",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/user-logs": {
            "get": {
                "tags": [
                    "Reports \u2014 User Logs"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_userlogcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Reports \u2014 User Logs"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required, franchise",
                "operationId": "post_userlogcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "tno": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "form_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "vtype": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "action": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "user_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/user-logs/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 User Logs"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_userlogcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 User Logs"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_userlogcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "tno": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "form_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "vtype": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "action": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "user_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/user_logs": {
            "get": {
                "tags": [
                    "Reports \u2014 User Logs"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_userlogcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Reports \u2014 User Logs"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required, franchise",
                "operationId": "post_userlogcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "tno": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "form_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "vtype": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "action": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "user_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/user_logs/{id}": {
            "delete": {
                "tags": [
                    "Reports \u2014 User Logs"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required, franchise",
                "operationId": "delete_userlogcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Reports \u2014 User Logs"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required, franchise",
                "operationId": "put_userlogcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "tno": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "form_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "party_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "vtype": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "action": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "user_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reports/warranty-amc-part-cost": {
            "get": {
                "tags": [
                    "Reports \u2014 Warranty Amc Part Cost"
                ],
                "summary": "Index",
                "description": "Warranty / AMC Part Cost Report. Source: date_wise_collections Filters: from,to,service_type (amc|warranty|all), complaint_status, technician_id, part_name, search\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportwarrantyamcpartcostcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reports/warranty_amc_part_cost": {
            "get": {
                "tags": [
                    "Reports \u2014 Warranty Amc Part Cost"
                ],
                "summary": "Index",
                "description": "Warranty / AMC Part Cost Report. Source: date_wise_collections Filters: from,to,service_type (amc|warranty|all), complaint_status, technician_id, part_name, search\n\n**Access:** JWT required, franchise",
                "operationId": "get_reportwarrantyamcpartcostcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/reschedule/franchise-requests": {
            "get": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "List pending reschedule requests (franchise)",
                "description": "Returns complaints with `reschedule_status=pending` for the franchise dashboard. Includes customer name, technician name, proposed date, and reason.",
                "operationId": "get_reschedulecontroller_viewfranchisereschedulerequests",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated pending reschedule requests",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FranchiseRescheduleRequestsResponse"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Franchise or admin only",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reschedule/request": {
            "post": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Submit reschedule request (customer / technician)",
                "description": "Queues a pending reschedule on the complaint (`reschedule_status=pending`). The visit date and linked task update **only after** franchise approves via `POST /api/reschedule/update-date`. Customer receives an in-app notification on approve/reject (not at submit). **Access:** customer (own complaint), technician (assigned complaint), admin.",
                "operationId": "post_reschedulecontroller_sendreschedulerequest",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RescheduleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Reschedule request queued for franchise review",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RescheduleRequestResponse"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Not the complaint owner or assigned technician",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation failed or customer cannot reschedule online",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/reschedule/update-date": {
            "post": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Approve or reject reschedule (franchise)",
                "description": "Franchise/admin decision on a pending reschedule. **approve:** sets `scheduled_date`, `reschedule_status=approved`, complaint `status=rescheduled`, syncs linked task (`next_visit_date`, `reschedule_reason`, task status `rescheduled`), and notifies the customer. **reject:** sets `reschedule_status=rejected` and notifies the customer with `rejection_reason`.",
                "operationId": "post_reschedulecontroller_updaterescheduledate",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RescheduleDecisionRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Decision recorded",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RescheduleDecisionResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "No pending reschedule on this complaint",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Franchise or admin only / complaint out of scope",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sales-returns": {
            "get": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "List sales returns with line items (franchise/admin)",
                "description": "Each row includes linked tax invoice, account fields (company, GST, contact), and `items[]` with qty, rate, GST%, and amounts.",
                "operationId": "get_salesreturncontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "return_number",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "invoice_number",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "code",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sales returns with line items",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/SalesReturn"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Create sales return with line items (franchise/admin)",
                "description": "Requires `tax_invoice_id` (or `invoice_id` / `invoice_number`). Accepts form aliases: `transaction_number`, `ch_date`, `inv_date`, `remark`, `quantity` on items. When `items[]` is sent, header totals are computed from lines.",
                "operationId": "post_salesreturncontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SalesReturnCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Sales return created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/sales-returns/{id}": {
            "delete": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Delete sales return (franchise/admin)",
                "description": "**Access:** JWT required",
                "operationId": "delete_salesreturncontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sales return deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Sales return detail with line items (franchise/admin)",
                "description": "**Access:** JWT required",
                "operationId": "get_salesreturncontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sales return header + items[]",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SalesReturn"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Update sales return (franchise/admin)",
                "description": "If `items` key is present \u2192 replace all line items. Omit `items` to leave existing lines unchanged.",
                "operationId": "put_salesreturncontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SalesReturnCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Sales return updated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/service-requests": {
            "post": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Store",
                "description": "POST /api/customer/service-requests POST /api/service-requests (alias)\n\n**Access:** JWT required",
                "operationId": "post_servicerequestcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/service-requests/{id}": {
            "patch": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Update",
                "description": "PUT /api/service-requests/{id} PATCH /api/service-requests/{id} PUT /api/franchise/service-requests/{id}\n\n**Access:** JWT required",
                "operationId": "patch_servicerequestcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "description": "Validation: required"
                                    },
                                    "priority": {
                                        "type": "string",
                                        "enum": [
                                            "low",
                                            "normal",
                                            "high",
                                            "LOW",
                                            "NORMAL",
                                            "HIGH"
                                        ],
                                        "description": "Validation: required, in:low,normal,high,LOW,NORMAL,HIGH"
                                    },
                                    "title": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "details": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    },
                                    "scheduled_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "force_complete": {
                                        "type": "boolean",
                                        "description": "Validation: boolean"
                                    },
                                    "override_resolution": {
                                        "type": "boolean",
                                        "description": "Validation: boolean"
                                    },
                                    "override_reason": {
                                        "type": "string",
                                        "minLength": 10,
                                        "maxLength": 500,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, min:10, max:500"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Update service request (franchise/admin)",
                "description": "Set status to complete/done, cancelled, pending, or rescheduled. Syncs linked complaint. Use force_complete + override_reason to close without a completed task.",
                "operationId": "put_servicerequestcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "pending",
                                            "complete",
                                            "done",
                                            "cancelled",
                                            "rescheduled"
                                        ]
                                    },
                                    "priority": {
                                        "type": "string",
                                        "enum": [
                                            "low",
                                            "normal",
                                            "high"
                                        ]
                                    },
                                    "title": {
                                        "type": "string"
                                    },
                                    "details": {
                                        "type": "string"
                                    },
                                    "scheduled_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true
                                    },
                                    "force_complete": {
                                        "type": "boolean"
                                    },
                                    "override_reason": {
                                        "type": "string",
                                        "minLength": 10
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/stock-approvals": {
            "get": {
                "tags": [
                    "Stock Approvals"
                ],
                "summary": "Franchise stock approval requests",
                "description": "Franchise-scoped stock orders. Filter by `search` (request_no, numeric id, branch name/city), `status`, `priority`, optional `franchise_id` for multi-branch accounts.",
                "operationId": "get_stockapprovalrequestcontroller_franchiseindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "maxLength": 200
                        },
                        "description": "Matches request_no, numeric id, franchise_name, franchise_city"
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "pending_admin_approval",
                                "pending",
                                "pending_approval",
                                "approved_by_admin",
                                "approved",
                                "rejected_by_admin",
                                "rejected",
                                "awaiting_delivery",
                                "in_transit",
                                "awaiting_franchise_verification",
                                "issue_reported",
                                "issue_resolved",
                                "delivered_verified",
                                "inventory_updated",
                                "completed"
                            ]
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "priority",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "low",
                                "medium",
                                "high"
                            ]
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Stock Approvals"
                ],
                "summary": "Create franchise stock approval request",
                "description": "Franchise users submit a stock request to admin HQ. Load products from `GET /api/stock-approvals/admin-inventory-products`. Each line `quantity` must be between 1 and `available_quantity` for that product. `amount` is optional \u2014 when sent from the UI total, the backend stores it as-is; otherwise it sums `quantity \u00d7 unit_price` per line.",
                "operationId": "post_stockapprovalrequestcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "minItems": 1,
                                        "items": {
                                            "type": "object",
                                            "required": [
                                                "product_id",
                                                "quantity"
                                            ],
                                            "properties": {
                                                "product_id": {
                                                    "type": "integer",
                                                    "example": 12
                                                },
                                                "quantity": {
                                                    "type": "integer",
                                                    "minimum": 1,
                                                    "example": 3
                                                },
                                                "unit_price": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "example": 450
                                                }
                                            }
                                        }
                                    },
                                    "amount": {
                                        "type": "number",
                                        "minimum": 0,
                                        "description": "Frontend-calculated order total",
                                        "example": 1350
                                    },
                                    "priority": {
                                        "type": "string",
                                        "enum": [
                                            "low",
                                            "medium",
                                            "high"
                                        ],
                                        "example": "medium"
                                    },
                                    "request_date": {
                                        "type": "string",
                                        "format": "date",
                                        "example": "2026-06-10"
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/stock-approvals/admin-inventory-products": {
            "get": {
                "tags": [
                    "Stock Approvals"
                ],
                "summary": "Admin HQ catalog for new stock request",
                "description": "Products available for franchise stock requests. Use `product_id`, `unit_price`, and `available_quantity` (aliases: `admin_available_quantity`, `hq_stock`) when building the create form.",
                "operationId": "get_stockapprovalrequestcontroller_admininventorycatalog",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "only_in_stock",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "When true, omit products with zero HQ availability"
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/stock-approvals/{id}": {
            "get": {
                "tags": [
                    "Stock Approvals"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_stockapprovalrequestcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/stock-approvals/{id}/approve-delivery": {
            "post": {
                "tags": [
                    "Stock Approvals"
                ],
                "summary": "Franchise Approve Delivery",
                "description": "**Access:** JWT required, franchise",
                "operationId": "post_stockapprovalrequestcontroller_franchiseapprovedelivery",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "product_id": {
                                                    "type": "integer",
                                                    "description": "Validation: required_with:items, integer"
                                                },
                                                "quantity_received": {
                                                    "type": "integer",
                                                    "minimum": 0,
                                                    "description": "Validation: required_with:items, integer, min:0"
                                                }
                                            }
                                        },
                                        "nullable": true,
                                        "description": "Validation: nullable, array"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/stock-approvals/{id}/report-issue": {
            "post": {
                "tags": [
                    "Stock Approvals"
                ],
                "summary": "Franchise Report Issue",
                "description": "**Access:** JWT required, franchise",
                "operationId": "post_stockapprovalrequestcontroller_franchisereportissue",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "description": {
                                        "type": "string",
                                        "maxLength": 5000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:5000"
                                    },
                                    "images": {
                                        "type": "array",
                                        "items": {
                                            "type": "object"
                                        },
                                        "nullable": true,
                                        "description": "Validation: nullable, array, max:10"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/stock-approvals/{id}/status": {
            "get": {
                "tags": [
                    "Stock Approvals"
                ],
                "summary": "Status Tracking",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_stockapprovalrequestcontroller_statustracking",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/stock-from-technicians": {
            "get": {
                "tags": [
                    "Stock From Technicians"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required",
                "operationId": "get_stockfromtechniciancontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Stock From Technicians"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required",
                "operationId": "post_stockfromtechniciancontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Validation: required, date"
                                    },
                                    "technician_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:technicians,id"
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:products,id"
                                    },
                                    "quantity": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "description": "Validation: required, integer, min:1"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "date",
                                    "technician_id",
                                    "product_id",
                                    "quantity",
                                    "franchise_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/stock-from-technicians/{id}": {
            "delete": {
                "tags": [
                    "Stock From Technicians"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_stockfromtechniciancontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Stock From Technicians"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_stockfromtechniciancontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Stock From Technicians"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_stockfromtechniciancontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "technician_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:technicians,id"
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:products,id"
                                    },
                                    "quantity": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:1"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/stock-order-issue-types": {
            "get": {
                "tags": [
                    "Stock Order Issue Types"
                ],
                "summary": "Issue Types",
                "description": "**Access:** JWT required",
                "operationId": "get_stockapprovalrequestcontroller_issuetypes",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/stock-order-issues": {
            "get": {
                "tags": [
                    "Stock Order Issues"
                ],
                "summary": "List Issues",
                "description": "**Access:** JWT required",
                "operationId": "get_stockapprovalrequestcontroller_listissues",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/stock-orders": {
            "get": {
                "tags": [
                    "Stock Orders"
                ],
                "summary": "Franchise stock orders",
                "description": "Franchise: own stock orders.\n\n**Access:** JWT required, franchise",
                "operationId": "get_stockapprovalrequestcontroller_franchiseindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "maxLength": 200
                        },
                        "description": "Matches request_no, numeric id, franchise_name, franchise_city"
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "pending_admin_approval",
                                "pending",
                                "pending_approval",
                                "approved_by_admin",
                                "approved",
                                "rejected_by_admin",
                                "rejected",
                                "awaiting_delivery",
                                "in_transit",
                                "awaiting_franchise_verification",
                                "issue_reported",
                                "issue_resolved",
                                "delivered_verified",
                                "inventory_updated",
                                "completed"
                            ]
                        }
                    },
                    {
                        "name": "franchise_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "priority",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "low",
                                "medium",
                                "high"
                            ]
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/stock-orders/admin-inventory-products": {
            "get": {
                "tags": [
                    "Stock Orders"
                ],
                "summary": "Admin Inventory Catalog",
                "description": "Products available from admin HQ inventory for the New Stock Request modal. GET /api/stock-orders/admin-inventory-products\n\n**Access:** JWT required",
                "operationId": "get_stockapprovalrequestcontroller_admininventorycatalog",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/stock-orders/{id}": {
            "get": {
                "tags": [
                    "Stock Orders"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_stockapprovalrequestcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/stock-orders/{id}/approve-delivery": {
            "post": {
                "tags": [
                    "Stock Orders"
                ],
                "summary": "Franchise Approve Delivery",
                "description": "**Access:** JWT required, franchise",
                "operationId": "post_stockapprovalrequestcontroller_franchiseapprovedelivery",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "product_id": {
                                                    "type": "integer",
                                                    "description": "Validation: required_with:items, integer"
                                                },
                                                "quantity_received": {
                                                    "type": "integer",
                                                    "minimum": 0,
                                                    "description": "Validation: required_with:items, integer, min:0"
                                                }
                                            }
                                        },
                                        "nullable": true,
                                        "description": "Validation: nullable, array"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/stock-orders/{id}/report-issue": {
            "post": {
                "tags": [
                    "Stock Orders"
                ],
                "summary": "Franchise Report Issue",
                "description": "**Access:** JWT required, franchise",
                "operationId": "post_stockapprovalrequestcontroller_franchisereportissue",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "description": {
                                        "type": "string",
                                        "maxLength": 5000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:5000"
                                    },
                                    "images": {
                                        "type": "array",
                                        "items": {
                                            "type": "object"
                                        },
                                        "nullable": true,
                                        "description": "Validation: nullable, array, max:10"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/stock-orders/{id}/status": {
            "get": {
                "tags": [
                    "Stock Orders"
                ],
                "summary": "Status Tracking",
                "description": "**Access:** JWT required, franchise",
                "operationId": "get_stockapprovalrequestcontroller_statustracking",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/stock-to-technicians": {
            "get": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required",
                "operationId": "get_stocktotechniciancontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Assign stock from franchise to technician (ledger)",
                "description": "Writes `stock_to_technicians` and mirrors a row into `technician_stocks` so the technician app inventory updates immediately. For direct app-table writes use **POST /api/technician-stocks**.",
                "operationId": "post_stocktotechniciancontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Validation: required, date"
                                    },
                                    "technician_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:technicians,id"
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:products,id"
                                    },
                                    "quantity": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "description": "Validation: required, integer, min:1"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "assigned",
                                            "returned",
                                            "used"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:assigned,returned,used"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "date",
                                    "technician_id",
                                    "product_id",
                                    "quantity",
                                    "franchise_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/stock-to-technicians/{id}": {
            "delete": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_stocktotechniciancontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_stocktotechniciancontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_stocktotechniciancontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "technician_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:technicians,id"
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:products,id"
                                    },
                                    "quantity": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:1"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "assigned",
                                            "returned",
                                            "used"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:assigned,returned,used"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/stocks": {
            "get": {
                "tags": [
                    "Stocks"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required",
                "operationId": "get_stockcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Stocks"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required",
                "operationId": "post_stockcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "stock_code": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, unique:stocks, max:255"
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:products,id"
                                    },
                                    "quantity_on_hand": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "description": "Validation: required, integer, min:0"
                                    },
                                    "quantity_reserved": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    },
                                    "minimum_stock": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    },
                                    "unit_price": {
                                        "type": "number",
                                        "minimum": 0,
                                        "description": "Validation: required, numeric, min:0"
                                    },
                                    "warehouse_location": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "active",
                                            "inactive",
                                            "discontinued"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:active,inactive,discontinued"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:franchises,id"
                                    }
                                },
                                "required": [
                                    "stock_code",
                                    "product_id",
                                    "quantity_on_hand",
                                    "unit_price",
                                    "franchise_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/stocks/{id}": {
            "delete": {
                "tags": [
                    "Stocks"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_stockcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Stocks"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_stockcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Stocks"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_stockcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "stock_code": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string, unique:stocks,stock_code,"
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:products,id"
                                    },
                                    "quantity_on_hand": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    },
                                    "quantity_reserved": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    },
                                    "minimum_stock": {
                                        "type": "integer",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:0"
                                    },
                                    "unit_price": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "warehouse_location": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "active",
                                            "inactive",
                                            "discontinued"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:active,inactive,discontinued"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/subscriptions": {
            "get": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Index",
                "description": "GET /api/franchise/rental-subscriptions GET /api/subscriptions\n\n**Access:** JWT required",
                "operationId": "get_subscriptioncontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required",
                "operationId": "post_subscriptioncontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "franchise_id": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/subscriptions/form-options": {
            "get": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Form Options",
                "description": "GET /api/franchise/rental-subscriptions/form-options GET /api/admin/rental-subscriptions/form-options\n\n**Access:** JWT required",
                "operationId": "get_subscriptioncontroller_formoptions",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/subscriptions/{id}": {
            "delete": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_subscriptioncontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_subscriptioncontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Subscriptions"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_subscriptioncontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "customer_id": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Optional. Field read by the endpoint (inferred from controller usage; not strictly validated)."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/table-ids": {
            "get": {
                "tags": [
                    "Table Ids"
                ],
                "summary": "Table Ids",
                "description": "**Access:** JWT required",
                "operationId": "get_lookupcontroller_tableids",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/tasks": {
            "get": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "List technician tasks",
                "description": "Includes `visit_location`, `accuracy_m`, `captured_at` on each task. Use `group_by_status=1` for buckets.",
                "operationId": "get_fullfunctionalitytaskcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "group_by_status",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "pending",
                                "in_progress",
                                "done",
                                "rescheduled"
                            ]
                        }
                    },
                    {
                        "name": "detail",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Store",
                "description": "POST /api/tasks Create a task by technician (technician creates their own task). Required: complain_id, customer_id, inventories_id, payment_mode Optional: payment_photo (required if payment_mode=online)\n\n**Access:** JWT required",
                "operationId": "post_fullfunctionalitytaskcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true
                            }
                        }
                    }
                }
            }
        },
        "/api/tasks/assign": {
            "post": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Assign technician to complaint (canonical)",
                "description": "Creates or updates `full_functionality_tasks` for the complaint (no duplicate open tasks). See `GET /api/docs/assignment`.",
                "operationId": "post_fullfunctionalitytaskcontroller_assign",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TaskAssignRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Task created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "Existing open task updated (re-assign)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Device or inventory missing",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/tasks/summary": {
            "get": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Summary",
                "description": "GET /api/tasks/summary One dashboard-friendly response with status counts + service type counts.\n\n**Access:** JWT required",
                "operationId": "get_fullfunctionalitytaskcontroller_summary",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/tasks/{id}": {
            "get": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Get task detail",
                "description": "GET /api/tasks/{id} Fetch one task with check-in/checkout images and payment images by task id.\n\n**Access:** JWT required",
                "operationId": "get_fullfunctionalitytaskcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Task with visit_location and linked device",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Task"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Update task (check-in / complete)",
                "description": "Technician updates task. `status: done` completes visit and syncs complaint lifecycle (AMC count decreases when applicable). For customer/technician **reschedule requests** that require franchise approval, use `POST /api/reschedule/request` instead of `status: rescheduled` here.",
                "operationId": "put_fullfunctionalitytaskcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TaskUpdateRequest"
                            }
                        }
                    }
                }
            }
        },
        "/api/tasks/{id}/bill": {
            "get": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Bill",
                "description": "GET /api/tasks/{id}/bill \u2014 franchise/admin view of bill linked to completed task.\n\n**Access:** JWT required",
                "operationId": "get_fullfunctionalitytaskcontroller_bill",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/tasks/{id}/check-in": {
            "put": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Check in to task (with optional image)",
                "description": "PUT /api/tasks/{id}/check-in Technician action from \"task detail\": - updates task status: pending | in_progress | done - (optionally) creates a check-in image row in `check_images` Accepts either multipart file `check_in_image` or string path/url `check_in_image`.\n\n**Access:** JWT required",
                "operationId": "put_fullfunctionalitytaskcontroller_checkin",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string"
                                    },
                                    "check_in_image": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                }
                            }
                        },
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TaskUpdateRequest"
                            }
                        }
                    }
                }
            }
        },
        "/api/tasks/{id}/signature": {
            "post": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Store Technician Captured Signature",
                "description": "POST /api/tasks/{id}/signature Technician captures customer signature during the visit.\n\n**Access:** JWT required",
                "operationId": "post_fullfunctionalitytaskcontroller_storetechniciancapturedsignature",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/tasks/{id}/signature/file": {
            "get": {
                "tags": [
                    "Tasks & Complaints"
                ],
                "summary": "Signature File",
                "description": "GET /api/tasks/{id}/signature/file Returns customer signature image bytes (JWT required).\n\n**Access:** JWT required",
                "operationId": "get_fullfunctionalitytaskcontroller_signaturefile",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/tax-invoices": {
            "get": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "List tax invoices",
                "description": "Each row includes full address, contract dates, scheduled_service_visits, product_name, and line items with product/amc_plan names.",
                "operationId": "get_taxinvoicecontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "invoice_number",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "inv_no",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "code",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "bill_type",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "description": "Matches invoice number, code, company, contact, address, GST"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tax invoices",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/TaxInvoice"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/PaginationMeta"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Create tax invoice (franchise/admin)",
                "description": "Header supports full address, contract_start/end, scheduled_service_visits, contract_form, number_of_services. Product names resolved from product_id on line items.",
                "operationId": "post_taxinvoicecontroller_store",
                "parameters": [],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TaxInvoiceCreateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Tax invoice created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/tax-invoices/{id}": {
            "delete": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_taxinvoicecontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Tax invoice detail with line items",
                "description": "**Access:** JWT required",
                "operationId": "get_taxinvoicecontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Invoice header + items[]",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TaxInvoice"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Billing & Finance"
                ],
                "summary": "Update tax invoice",
                "description": "**Access:** JWT required",
                "operationId": "put_taxinvoicecontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TaxInvoiceCreateRequest"
                            }
                        }
                    }
                }
            }
        },
        "/api/technician-notifications": {
            "get": {
                "tags": [
                    "Technician Notifications"
                ],
                "summary": "Technician notifications list",
                "description": "**Access:** JWT required",
                "operationId": "get_notificationcontroller_technicianindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    },
                    {
                        "name": "unread_only",
                        "in": "query",
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Technician Notifications"
                ],
                "summary": "Technician Store",
                "description": "**Access:** JWT required",
                "operationId": "post_notificationcontroller_technicianstore",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "type": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "title": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "message": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "technician_id": {
                                        "type": "integer",
                                        "description": "Validation: required, integer, exists:technicians,id"
                                    },
                                    "task_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:full_functionality_tasks,id"
                                    }
                                },
                                "required": [
                                    "type",
                                    "title",
                                    "technician_id"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/technician-notifications/{id}": {
            "get": {
                "tags": [
                    "Technician Notifications"
                ],
                "summary": "Technician Show",
                "description": "**Access:** JWT required",
                "operationId": "get_notificationcontroller_technicianshow",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/technician-notifications/{id}/mark-read": {
            "post": {
                "tags": [
                    "Technician Notifications"
                ],
                "summary": "Technician Mark Read",
                "description": "**Access:** JWT required",
                "operationId": "post_notificationcontroller_technicianmarkread",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/technician-ratings": {
            "get": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Index",
                "description": "Display a listing of the resource.\n\n**Access:** JWT required",
                "operationId": "get_technicianratingcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Store",
                "description": "Store a newly created resource in storage.\n\n**Access:** JWT required",
                "operationId": "post_technicianratingcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "task_id": {
                                        "type": "string",
                                        "description": "Validation: required, exists:full_functionality_tasks,id"
                                    },
                                    "technician_id": {
                                        "type": "string",
                                        "description": "Validation: required, exists:technicians,id"
                                    },
                                    "rating": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "maximum": 5,
                                        "description": "Validation: required, integer, min:1, max:5"
                                    },
                                    "comment": {
                                        "type": "string",
                                        "maxLength": 1000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:1000"
                                    }
                                },
                                "required": [
                                    "task_id",
                                    "technician_id",
                                    "rating"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/technician-ratings/{id}": {
            "delete": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Destroy",
                "description": "Remove the specified resource from storage.\n\n**Access:** JWT required",
                "operationId": "delete_technicianratingcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Show",
                "description": "Display the specified resource.\n\n**Access:** JWT required",
                "operationId": "get_technicianratingcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Update",
                "description": "Update the specified resource in storage.\n\n**Access:** JWT required",
                "operationId": "put_technicianratingcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "rating": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "maximum": 5,
                                        "description": "Validation: required, integer, min:1, max:5"
                                    },
                                    "comment": {
                                        "type": "string",
                                        "maxLength": 1000,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:1000"
                                    }
                                },
                                "required": [
                                    "rating"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/technician-rests": {
            "get": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Index",
                "description": "Display a listing of the resource.\n\n**Access:** JWT required",
                "operationId": "get_technicianrestcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Store",
                "description": "Store a newly created resource in storage.\n\n**Access:** JWT required",
                "operationId": "post_technicianrestcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "reason": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/technician-rests/{id}": {
            "delete": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Destroy",
                "description": "Remove the specified resource from storage.\n\n**Access:** JWT required",
                "operationId": "delete_technicianrestcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Show",
                "description": "Display the specified resource.\n\n**Access:** JWT required",
                "operationId": "get_technicianrestcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Update",
                "description": "Update the specified resource in storage.\n\n**Access:** JWT required",
                "operationId": "put_technicianrestcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "start_time": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "end_time": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "reason": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "nullable": true,
                                        "description": "Validation: nullable, string, max:255"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "active",
                                            "completed"
                                        ],
                                        "description": "Validation: required, in:active,completed"
                                    }
                                },
                                "required": [
                                    "status"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/technician-stocks": {
            "get": {
                "tags": [
                    "Technicians"
                ],
                "summary": "List technician stock (technician or franchise)",
                "description": "**Access:** JWT required",
                "operationId": "get_technicianstockcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Add stock to technician app inventory",
                "description": "Populates `technician_stocks` table shown in technician app.",
                "operationId": "post_technicianstockcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "technician_id": {
                                        "type": "integer"
                                    },
                                    "product_id": {
                                        "type": "integer"
                                    },
                                    "quantity": {
                                        "type": "integer",
                                        "minimum": 1
                                    },
                                    "status": {
                                        "type": "string",
                                        "example": "assigned"
                                    }
                                },
                                "required": [
                                    "technician_id",
                                    "product_id",
                                    "quantity"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/technician-stocks/{id}": {
            "delete": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_technicianstockcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_technicianstockcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_technicianstockcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "technician_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:technicians,id"
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:products,id"
                                    },
                                    "quantity": {
                                        "type": "integer",
                                        "minimum": 1,
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, min:1"
                                    },
                                    "assigned_date": {
                                        "type": "string",
                                        "format": "date",
                                        "nullable": true,
                                        "description": "Validation: nullable, date"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "assigned",
                                            "returned",
                                            "used"
                                        ],
                                        "nullable": true,
                                        "description": "Validation: nullable, string, in:assigned,returned,used"
                                    },
                                    "remarks": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable, string"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/technician/bootstrap": {
            "get": {
                "tags": [
                    "Technician App \u2014 Bootstrap"
                ],
                "summary": "Technician app startup payload",
                "description": "Single call: tasks by status, notifications, counts. Prefer over parallel task + notification calls.",
                "operationId": "get_technicianhomecontroller_bootstrap",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/technician/cash-summary": {
            "get": {
                "tags": [
                    "Technician App \u2014 Cash Summary"
                ],
                "summary": "Cash Summary",
                "description": "GET /api/technician/cash-summary Cash collected vs pending settlement for the logged-in technician.\n\n**Access:** JWT required",
                "operationId": "get_techniciancontroller_cashsummary",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/technician/home": {
            "get": {
                "tags": [
                    "Technician App \u2014 Home"
                ],
                "summary": "Technician home dashboard",
                "description": "GET /api/technician/home Query: month (Y-m, optional \u2014 defaults to current month)\n\n**Access:** JWT required",
                "operationId": "get_technicianhomecontroller_home",
                "parameters": [
                    {
                        "name": "month",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "example": "2026-06"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/technician/installation-pickup-tasks": {
            "get": {
                "tags": [
                    "Technician App \u2014 Installation Pickup Tasks"
                ],
                "summary": "Technician Index",
                "description": "**Access:** JWT required",
                "operationId": "get_installationpickuptaskcontroller_technicianindex",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/technician/login": {
            "post": {
                "tags": [
                    "Technician App \u2014 Login"
                ],
                "summary": "Technician login",
                "description": "Returns JWT `access_token` and `refresh_token` for **technician accounts only**.",
                "operationId": "post_authcontroller_technicianlogin",
                "parameters": [],
                "security": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "technician@example.com"
                                    },
                                    "password": {
                                        "type": "string",
                                        "example": "your_password"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "Technician login alternative to email"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Login successful",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/JwtAuthResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid credentials",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/technician/online-status": {
            "put": {
                "tags": [
                    "Technician App \u2014 Online Status"
                ],
                "summary": "Update Online Status",
                "description": "PUT /api/technician/online-status Technician sets their own online/offline status.\n\n**Access:** JWT required",
                "operationId": "put_techniciancontroller_updateonlinestatus",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "is_online": {
                                        "type": "boolean",
                                        "description": "Validation: required, boolean"
                                    }
                                },
                                "required": [
                                    "is_online"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/technician/tracking-logs": {
            "post": {
                "tags": [
                    "Technician App \u2014 Tracking Logs"
                ],
                "summary": "Post technician GPS tracking point",
                "description": "Technician app sends location points. POST /api/technician/tracking-logs\n\n**Access:** JWT required",
                "operationId": "post_techniciantrackinglogcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TrackingLogRequest"
                            }
                        }
                    }
                }
            }
        },
        "/api/technician/tracking-logs/current": {
            "get": {
                "tags": [
                    "Technician App \u2014 Tracking Logs"
                ],
                "summary": "Technician latest tracking point",
                "description": "Technician: own latest location point. GET /api/technician/tracking-logs/current\n\n**Access:** JWT required",
                "operationId": "get_techniciantrackinglogcontroller_currentlocationfortechnician",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/technician/workboard": {
            "get": {
                "tags": [
                    "Technician App \u2014 Workboard"
                ],
                "summary": "Technician workboard (tasks + notifications + stock)",
                "description": "GET /api/technician/workboard One call for RO Tech home: tasks by status + notifications + assigned stock. Replaces parallel GET /tasks?status=... + /technician-notifications + /technician-stocks.\n\n**Access:** JWT required",
                "operationId": "get_technicianhomecontroller_workboard",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/technicians": {
            "post": {
                "tags": [
                    "Technicians"
                ],
                "summary": "Create technician",
                "description": "POST /api/technicians \u2014 admin or franchise creates a technician + login.\n\n**Access:** JWT required",
                "operationId": "post_techniciancontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "username": {
                                        "type": "string",
                                        "maxLength": 50,
                                        "description": "Validation: required, string, max:50, unique:users,username"
                                    },
                                    "email": {
                                        "type": "string",
                                        "description": "Validation: unique:technicians,email"
                                    },
                                    "password": {
                                        "type": "string",
                                        "minLength": 6,
                                        "description": "Validation: required, string, min:6"
                                    },
                                    "technician_photo": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Validation: nullable"
                                    },
                                    "franchise_id": {
                                        "type": "integer",
                                        "nullable": true,
                                        "description": "Validation: nullable, integer, exists:franchises,id"
                                    },
                                    "payment_type": {
                                        "type": "string",
                                        "enum": [
                                            "salary",
                                            "commission"
                                        ],
                                        "description": "Validation: required, in:salary,commission"
                                    },
                                    "salary": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    },
                                    "commission_rate": {
                                        "type": "number",
                                        "minimum": 0,
                                        "maximum": 100,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0, max:100"
                                    },
                                    "visit_charge": {
                                        "type": "number",
                                        "minimum": 0,
                                        "nullable": true,
                                        "description": "Validation: nullable, numeric, min:0"
                                    }
                                },
                                "required": [
                                    "username",
                                    "password",
                                    "payment_type"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/terms-and-conditions": {
            "get": {
                "tags": [
                    "Terms And Conditions"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required",
                "operationId": "get_termsandconditioncontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Terms And Conditions"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required",
                "operationId": "post_termsandconditioncontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    }
                                },
                                "required": [
                                    "name",
                                    "description"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/terms-and-conditions/{id}": {
            "delete": {
                "tags": [
                    "Terms And Conditions"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_termsandconditioncontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Terms And Conditions"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_termsandconditioncontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Terms And Conditions"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_termsandconditioncontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "Validation: required, string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/token/refresh": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Refresh",
                "description": "POST /api/refresh Exchange refresh_token (or reference_token alias) for new access + refresh tokens.",
                "operationId": "post_authcontroller_refresh",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                },
                "security": []
            }
        },
        "/api/type-masters": {
            "get": {
                "tags": [
                    "Type Masters"
                ],
                "summary": "Index",
                "description": "**Access:** JWT required",
                "operationId": "get_customertypemastercontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Type Masters"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required",
                "operationId": "post_customertypemastercontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "type_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    }
                                },
                                "required": [
                                    "type_name"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/type-masters/{id}": {
            "delete": {
                "tags": [
                    "Type Masters"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_customertypemastercontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Type Masters"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_customertypemastercontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Type Masters"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_customertypemastercontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "type_name": {
                                        "type": "string",
                                        "maxLength": 255,
                                        "description": "Validation: required, string, max:255"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/update-profile": {
            "post": {
                "tags": [
                    "Auth (JWT)"
                ],
                "summary": "Update profile (customer location supported)",
                "description": "POST /api/update-profile Update the authenticated user's profile (partial update). Accepts: first_name, last_name, email, phone_number, username, password. Customer users can also update address/customer_address. Aliases: name \u2192 first_name (+ last_name if spaced), phone \u2192 phone_number. When changing password, send current_password as well.\n\n**Access:** JWT required",
                "operationId": "post_authcontroller_updateprofile",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProfileUpdateRequest"
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Auth (JWT)"
                ],
                "summary": "Update profile (alias)",
                "description": "POST /api/update-profile Update the authenticated user's profile (partial update). Accepts: first_name, last_name, email, phone_number, username, password. Customer users can also update address/customer_address. Aliases: name \u2192 first_name (+ last_name if spaced), phone \u2192 phone_number. When changing password, send current_password as well.\n\n**Access:** JWT required",
                "operationId": "put_authcontroller_updateprofile",
                "parameters": [],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProfileUpdateRequest"
                            }
                        }
                    }
                }
            }
        },
        "/api/user": {
            "get": {
                "tags": [
                    "Auth (JWT)"
                ],
                "summary": "Current authenticated user (Sanctum legacy)",
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Authenticated user",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/water-quality-reports": {
            "get": {
                "tags": [
                    "Water Quality Reports"
                ],
                "summary": "Index",
                "description": "GET /api/water-quality-reports Customer JWT: own reports only (latest per device by default). Franchise: customers in their franchise. Admin: all (optional filters).\n\n**Access:** JWT required",
                "operationId": "get_waterqualityreportcontroller_index",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 200
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Water Quality Reports"
                ],
                "summary": "Store",
                "description": "**Access:** JWT required",
                "operationId": "post_waterqualityreportcontroller_store",
                "parameters": [],
                "responses": [
                    {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        },
        "/api/water-quality-reports/{id}": {
            "delete": {
                "tags": [
                    "Water Quality Reports"
                ],
                "summary": "Destroy",
                "description": "**Access:** JWT required",
                "operationId": "delete_waterqualityreportcontroller_destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Deleted / archived",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "get": {
                "tags": [
                    "Water Quality Reports"
                ],
                "summary": "Show",
                "description": "**Access:** JWT required",
                "operationId": "get_waterqualityreportcontroller_show",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Water Quality Reports"
                ],
                "summary": "Update",
                "description": "**Access:** JWT required",
                "operationId": "put_waterqualityreportcontroller_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": [
                    {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "nullable": true,
                                            "example": "Success"
                                        },
                                        "data": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Resource payload (object, array of objects, or paginated list depending on the endpoint)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    {
                        "description": "Unauthenticated",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Forbidden",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    },
                    {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                }
                            }
                        }
                    }
                ],
                "security": [
                    {
                        "bearerAuth": []
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "No request body required for this endpoint."
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "scheme": "bearer",
                "bearerFormat": "JWT",
                "description": "JWT **access_token** from a role login (`POST /api/admin/login`, `/api/franchise/login`, etc.). Do not use refresh_token here."
            }
        },
        "schemas": {
            "ApiError": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string",
                        "example": "Validation failed"
                    },
                    "hint": {
                        "type": "string",
                        "nullable": true
                    },
                    "errors": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "PaginationMeta": {
                "type": "object",
                "properties": {
                    "current_page": {
                        "type": "integer",
                        "example": 1
                    },
                    "per_page": {
                        "type": "integer",
                        "example": 50
                    },
                    "total": {
                        "type": "integer",
                        "example": 120
                    },
                    "last_page": {
                        "type": "integer",
                        "example": 3
                    }
                }
            },
            "JwtAuthResponse": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string",
                        "example": "Login successful"
                    },
                    "access_token": {
                        "type": "string"
                    },
                    "refresh_token": {
                        "type": "string"
                    },
                    "token_type": {
                        "type": "string",
                        "example": "bearer"
                    },
                    "expires_in": {
                        "type": "integer",
                        "example": 86400
                    },
                    "refresh_expires_in": {
                        "type": "integer",
                        "nullable": true
                    },
                    "user": {
                        "$ref": "#/components/schemas/UserSummary"
                    }
                }
            },
            "UserSummary": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "admin",
                            "franchise",
                            "customer",
                            "technician"
                        ]
                    },
                    "role": {
                        "type": "string",
                        "description": "Alias of type",
                        "nullable": true
                    },
                    "first_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "last_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "phone_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "profile_image": {
                        "type": "string",
                        "nullable": true
                    },
                    "profile_image_url": {
                        "type": "string",
                        "format": "uri",
                        "nullable": true
                    },
                    "two_factor_enabled": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "session_timeout_minutes": {
                        "type": "integer",
                        "enum": [
                            15,
                            30,
                            60,
                            120,
                            480
                        ],
                        "nullable": true
                    },
                    "is_active": {
                        "type": "boolean",
                        "nullable": true
                    }
                }
            },
            "FranchiseSettingsProfile": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "profile_image": {
                        "type": "string",
                        "nullable": true
                    },
                    "profile_image_url": {
                        "type": "string",
                        "format": "uri",
                        "nullable": true
                    },
                    "full_name": {
                        "type": "string"
                    },
                    "first_name": {
                        "type": "string"
                    },
                    "last_name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "phone_number": {
                        "type": "string"
                    },
                    "role": {
                        "type": "string",
                        "enum": [
                            "admin",
                            "franchise",
                            "customer",
                            "technician"
                        ]
                    },
                    "is_active": {
                        "type": "boolean"
                    }
                }
            },
            "FranchiseSettingsGeneral": {
                "type": "object",
                "properties": {
                    "organization_name": {
                        "type": "string",
                        "description": "Franchise display name (franchise_name)"
                    },
                    "support_email": {
                        "type": "string",
                        "format": "email",
                        "nullable": true
                    },
                    "timezone": {
                        "type": "string",
                        "example": "Asia/Kolkata"
                    },
                    "currency": {
                        "type": "string",
                        "enum": [
                            "INR",
                            "USD",
                            "EUR",
                            "GBP",
                            "AED"
                        ],
                        "example": "INR"
                    }
                }
            },
            "FranchiseSettingsSecurity": {
                "type": "object",
                "properties": {
                    "two_factor_enabled": {
                        "type": "boolean"
                    },
                    "session_timeout_minutes": {
                        "type": "integer",
                        "enum": [
                            15,
                            30,
                            60,
                            120,
                            480
                        ],
                        "example": 60
                    },
                    "session_timeout_options": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "example": [
                            15,
                            30,
                            60,
                            120,
                            480
                        ]
                    }
                }
            },
            "FranchiseSettingsNotifications": {
                "type": "object",
                "properties": {
                    "email_alerts_enabled": {
                        "type": "boolean"
                    },
                    "sms_notifications_enabled": {
                        "type": "boolean"
                    },
                    "push_notifications_enabled": {
                        "type": "boolean"
                    },
                    "system_announcements_enabled": {
                        "type": "boolean"
                    }
                }
            },
            "FranchiseSettingsResponse": {
                "type": "object",
                "properties": {
                    "franchise_id": {
                        "type": "integer"
                    },
                    "profile": {
                        "$ref": "#/components/schemas/FranchiseSettingsProfile"
                    },
                    "general": {
                        "$ref": "#/components/schemas/FranchiseSettingsGeneral"
                    },
                    "security": {
                        "$ref": "#/components/schemas/FranchiseSettingsSecurity"
                    },
                    "notifications": {
                        "$ref": "#/components/schemas/FranchiseSettingsNotifications"
                    },
                    "defaults": {
                        "type": "object",
                        "properties": {
                            "general": {
                                "$ref": "#/components/schemas/FranchiseSettingsGeneral"
                            },
                            "security": {
                                "$ref": "#/components/schemas/FranchiseSettingsSecurity"
                            },
                            "notifications": {
                                "$ref": "#/components/schemas/FranchiseSettingsNotifications"
                            }
                        }
                    },
                    "meta": {
                        "type": "object",
                        "properties": {
                            "timezone_options": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "currency_options": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "session_timeout_options": {
                                "type": "array",
                                "items": {
                                    "type": "integer"
                                }
                            }
                        }
                    },
                    "message": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "FranchiseSettingsUpdateRequest": {
                "type": "object",
                "description": "Partial update. Send only sections/fields to change. For profile image upload use multipart/form-data with file field `profile_image` instead of JSON.",
                "properties": {
                    "profile": {
                        "type": "object",
                        "properties": {
                            "first_name": {
                                "type": "string"
                            },
                            "last_name": {
                                "type": "string"
                            },
                            "name": {
                                "type": "string",
                                "description": "Alias split into first_name + last_name"
                            },
                            "email": {
                                "type": "string",
                                "format": "email"
                            },
                            "phone_number": {
                                "type": "string"
                            },
                            "profile_image": {
                                "type": "string",
                                "nullable": true,
                                "description": "Stored path (JSON only)"
                            },
                            "remove_profile_image": {
                                "type": "boolean"
                            }
                        }
                    },
                    "general": {
                        "$ref": "#/components/schemas/FranchiseSettingsGeneral"
                    },
                    "security": {
                        "type": "object",
                        "properties": {
                            "two_factor_enabled": {
                                "type": "boolean"
                            },
                            "session_timeout_minutes": {
                                "type": "integer",
                                "enum": [
                                    15,
                                    30,
                                    60,
                                    120,
                                    480
                                ]
                            }
                        }
                    },
                    "notifications": {
                        "$ref": "#/components/schemas/FranchiseSettingsNotifications"
                    }
                }
            },
            "FranchiseSettingsResetRequest": {
                "type": "object",
                "properties": {
                    "sections": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "general",
                                "security",
                                "notifications",
                                "all"
                            ]
                        },
                        "example": [
                            "all"
                        ],
                        "description": "Defaults to all sections when omitted"
                    }
                }
            },
            "FranchiseOrganizationUser": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "full_name": {
                        "type": "string"
                    },
                    "first_name": {
                        "type": "string"
                    },
                    "last_name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "phone_number": {
                        "type": "string"
                    },
                    "role": {
                        "type": "string",
                        "enum": [
                            "franchise",
                            "technician"
                        ]
                    },
                    "is_active": {
                        "type": "boolean"
                    },
                    "is_primary_owner": {
                        "type": "boolean"
                    },
                    "franchise_id": {
                        "type": "integer"
                    },
                    "temporary_password": {
                        "type": "string",
                        "nullable": true,
                        "description": "Returned on create when password was auto-generated"
                    }
                }
            },
            "FranchiseOrganizationUserWriteRequest": {
                "type": "object",
                "required": [
                    "email"
                ],
                "properties": {
                    "first_name": {
                        "type": "string"
                    },
                    "last_name": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "phone_number": {
                        "type": "string"
                    },
                    "username": {
                        "type": "string",
                        "nullable": true
                    },
                    "password": {
                        "type": "string",
                        "minLength": 6
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "franchise",
                            "technician"
                        ],
                        "default": "franchise"
                    }
                }
            },
            "FranchiseOrganizationUserUpdateRequest": {
                "type": "object",
                "properties": {
                    "first_name": {
                        "type": "string"
                    },
                    "last_name": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "phone_number": {
                        "type": "string"
                    },
                    "is_active": {
                        "type": "boolean"
                    },
                    "password": {
                        "type": "string",
                        "minLength": 6
                    }
                }
            },
            "FranchiseSettingsConfirmRequest": {
                "type": "object",
                "required": [
                    "confirm"
                ],
                "properties": {
                    "confirm": {
                        "type": "boolean",
                        "enum": [
                            true
                        ],
                        "description": "Must be true"
                    },
                    "permanent": {
                        "type": "boolean",
                        "description": "Delete organization only: hard delete when no linked records"
                    }
                }
            },
            "Customer": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "franchise_id": {
                        "type": "integer"
                    },
                    "first_name": {
                        "type": "string"
                    },
                    "last_name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "phone_number": {
                        "type": "string"
                    },
                    "address": {
                        "type": "string",
                        "nullable": true,
                        "description": "Legacy single-line address or auto-composed from structured fields"
                    },
                    "formatted_address": {
                        "type": "string",
                        "nullable": true
                    },
                    "latitude": {
                        "type": "number",
                        "nullable": true
                    },
                    "longitude": {
                        "type": "number",
                        "nullable": true
                    },
                    "accuracy_m": {
                        "type": "number",
                        "nullable": true
                    },
                    "captured_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "status": {
                        "type": "string",
                        "nullable": true
                    },
                    "account_code": {
                        "type": "string",
                        "nullable": true
                    },
                    "house_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "building_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "landmark": {
                        "type": "string",
                        "nullable": true
                    },
                    "area": {
                        "type": "string",
                        "nullable": true
                    },
                    "city": {
                        "type": "string",
                        "nullable": true
                    },
                    "state": {
                        "type": "string",
                        "nullable": true
                    },
                    "pin_code": {
                        "type": "string",
                        "nullable": true
                    },
                    "gst_type": {
                        "type": "string",
                        "nullable": true,
                        "example": "registered"
                    },
                    "gst_number": {
                        "type": "string",
                        "nullable": true,
                        "example": "27AABCU9603R1ZM"
                    },
                    "rating": {
                        "type": "string",
                        "enum": [
                            "excellent",
                            "good",
                            "average",
                            "poor"
                        ],
                        "nullable": true
                    },
                    "birthday": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "anniversary": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "opening_balance": {
                        "type": "number",
                        "nullable": true,
                        "example": 0
                    }
                }
            },
            "AccountMaster": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "account_code": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "nullable": true,
                        "description": "Legacy type field"
                    },
                    "account_type": {
                        "type": "string",
                        "enum": [
                            "customer",
                            "vendor",
                            "supplier"
                        ],
                        "nullable": true
                    },
                    "mobile_no": {
                        "type": "string"
                    },
                    "customer_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "address": {
                        "type": "string",
                        "nullable": true
                    },
                    "formatted_address": {
                        "type": "string",
                        "nullable": true
                    },
                    "house_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "building_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "landmark": {
                        "type": "string",
                        "nullable": true
                    },
                    "area": {
                        "type": "string",
                        "nullable": true
                    },
                    "city": {
                        "type": "string",
                        "nullable": true
                    },
                    "state": {
                        "type": "string",
                        "nullable": true
                    },
                    "pin_code": {
                        "type": "string",
                        "nullable": true
                    },
                    "gst_type": {
                        "type": "string",
                        "nullable": true,
                        "example": "registered"
                    },
                    "gst_number": {
                        "type": "string",
                        "nullable": true,
                        "example": "27AABCU9603R1ZM"
                    },
                    "rating": {
                        "type": "string",
                        "enum": [
                            "excellent",
                            "good",
                            "average",
                            "poor"
                        ],
                        "nullable": true
                    },
                    "birthday": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "anniversary": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "opening_balance": {
                        "type": "number",
                        "nullable": true,
                        "example": 0
                    }
                }
            },
            "AccountMasterListItem": {
                "type": "object",
                "description": "Compact row for account master list table",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "account_code": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "account_type": {
                        "type": "string",
                        "enum": [
                            "customer",
                            "vendor",
                            "supplier"
                        ],
                        "nullable": true
                    },
                    "type": {
                        "type": "string",
                        "nullable": true
                    },
                    "mobile_no": {
                        "type": "string"
                    },
                    "city": {
                        "type": "string",
                        "nullable": true
                    },
                    "area": {
                        "type": "string",
                        "nullable": true
                    },
                    "gst_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "rating": {
                        "type": "string",
                        "enum": [
                            "excellent",
                            "good",
                            "average",
                            "poor"
                        ],
                        "nullable": true
                    },
                    "opening_balance": {
                        "type": "number",
                        "nullable": true
                    },
                    "formatted_address": {
                        "type": "string",
                        "nullable": true
                    },
                    "customer_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    }
                }
            },
            "AccountMasterListResponse": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AccountMasterListItem"
                        }
                    },
                    "meta": {
                        "type": "object",
                        "properties": {
                            "current_page": {
                                "type": "integer"
                            },
                            "last_page": {
                                "type": "integer"
                            },
                            "per_page": {
                                "type": "integer"
                            },
                            "total": {
                                "type": "integer"
                            },
                            "columns": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "key": {
                                            "type": "string"
                                        },
                                        "label": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "filters": {
                                "type": "object"
                            }
                        }
                    }
                }
            },
            "AccountMasterCreateRequest": {
                "type": "object",
                "required": [
                    "name",
                    "mobile_no"
                ],
                "properties": {
                    "account_code": {
                        "type": "string",
                        "nullable": true,
                        "description": "Optional on create; auto-generated when omitted. Read-only after create."
                    },
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "nullable": false,
                        "description": "Legacy; use account_type when possible"
                    },
                    "account_type": {
                        "type": "string",
                        "enum": [
                            "customer",
                            "vendor",
                            "supplier"
                        ],
                        "nullable": false
                    },
                    "city": {
                        "type": "string",
                        "nullable": true
                    },
                    "mobile_no": {
                        "type": "string"
                    },
                    "pincode": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias for pin_code"
                    },
                    "customer_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Optional for admin vendor/supplier (global scope). Required for customer accounts when multiple franchises exist."
                    },
                    "house_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "building_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "landmark": {
                        "type": "string",
                        "nullable": true
                    },
                    "area": {
                        "type": "string",
                        "nullable": true
                    },
                    "state": {
                        "type": "string",
                        "nullable": true
                    },
                    "pin_code": {
                        "type": "string",
                        "nullable": true
                    },
                    "gst_type": {
                        "type": "string",
                        "nullable": true,
                        "example": "registered"
                    },
                    "gst_number": {
                        "type": "string",
                        "nullable": true,
                        "example": "27AABCU9603R1ZM"
                    },
                    "rating": {
                        "type": "string",
                        "enum": [
                            "excellent",
                            "good",
                            "average",
                            "poor"
                        ],
                        "nullable": true
                    },
                    "birthday": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "anniversary": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "opening_balance": {
                        "type": "number",
                        "nullable": true,
                        "example": 0
                    }
                },
                "description": "Omit `account_code` to auto-assign the next code for the branch (see GET /api/account-masters/next-code). Provide structured address fields (house_number, area, city, state, pin_code) and profile fields from P0-03. `pincode` is accepted as alias for pin_code."
            },
            "AccountMasterUpdateRequest": {
                "type": "object",
                "properties": {
                    "account_code": {
                        "type": "string",
                        "nullable": true,
                        "description": "Optional on create; auto-generated when omitted. Read-only after create."
                    },
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "nullable": true,
                        "description": "Legacy; use account_type when possible"
                    },
                    "account_type": {
                        "type": "string",
                        "enum": [
                            "customer",
                            "vendor",
                            "supplier"
                        ],
                        "nullable": true
                    },
                    "city": {
                        "type": "string",
                        "nullable": true
                    },
                    "mobile_no": {
                        "type": "string"
                    },
                    "pincode": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias for pin_code"
                    },
                    "customer_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Optional for admin vendor/supplier (global scope). Required for customer accounts when multiple franchises exist."
                    },
                    "house_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "building_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "landmark": {
                        "type": "string",
                        "nullable": true
                    },
                    "area": {
                        "type": "string",
                        "nullable": true
                    },
                    "state": {
                        "type": "string",
                        "nullable": true
                    },
                    "pin_code": {
                        "type": "string",
                        "nullable": true
                    },
                    "gst_type": {
                        "type": "string",
                        "nullable": true,
                        "example": "registered"
                    },
                    "gst_number": {
                        "type": "string",
                        "nullable": true,
                        "example": "27AABCU9603R1ZM"
                    },
                    "rating": {
                        "type": "string",
                        "enum": [
                            "excellent",
                            "good",
                            "average",
                            "poor"
                        ],
                        "nullable": true
                    },
                    "birthday": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "anniversary": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "opening_balance": {
                        "type": "number",
                        "nullable": true,
                        "example": 0
                    }
                },
                "description": "`account_code` is system-assigned and cannot be changed after create."
            },
            "AccountMasterNextCodeResponse": {
                "type": "object",
                "properties": {
                    "account_code": {
                        "type": "string",
                        "example": "ACC-0042"
                    },
                    "prefix": {
                        "type": "string",
                        "example": "ACC",
                        "description": "Resolved prefix for this branch (franchise override \u2192 admin override \u2192 default)"
                    },
                    "franchise_id": {
                        "type": "integer",
                        "example": 3
                    }
                }
            },
            "CustomerCreateRequest": {
                "type": "object",
                "required": [
                    "first_name",
                    "last_name",
                    "email",
                    "phone_number",
                    "password"
                ],
                "properties": {
                    "franchise_id": {
                        "type": "integer",
                        "description": "Optional; franchise create resolves the logged-in branch automatically."
                    },
                    "first_name": {
                        "type": "string",
                        "example": "Rahul"
                    },
                    "last_name": {
                        "type": "string",
                        "example": "Sharma"
                    },
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "username": {
                        "type": "string",
                        "nullable": true
                    },
                    "phone_number": {
                        "type": "string",
                        "example": "9876543210"
                    },
                    "address": {
                        "type": "string",
                        "nullable": true,
                        "description": "Legacy single-line address; optional if structured fields are sent"
                    },
                    "customer_address": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias for address"
                    },
                    "account_code": {
                        "type": "string",
                        "nullable": true,
                        "description": "Optional on create; auto-generated when omitted (shared sequence with account masters). Read-only after create."
                    },
                    "customer_type": {
                        "type": "string",
                        "nullable": true
                    },
                    "status": {
                        "type": "string",
                        "nullable": true
                    },
                    "last_service_date": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "next_service_date": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "branch": {
                        "type": "string",
                        "nullable": true
                    },
                    "house_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "building_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "landmark": {
                        "type": "string",
                        "nullable": true
                    },
                    "area": {
                        "type": "string",
                        "nullable": true
                    },
                    "city": {
                        "type": "string",
                        "nullable": true
                    },
                    "state": {
                        "type": "string",
                        "nullable": true
                    },
                    "pin_code": {
                        "type": "string",
                        "nullable": true
                    },
                    "gst_type": {
                        "type": "string",
                        "nullable": true,
                        "example": "registered"
                    },
                    "gst_number": {
                        "type": "string",
                        "nullable": true,
                        "example": "27AABCU9603R1ZM"
                    },
                    "rating": {
                        "type": "string",
                        "enum": [
                            "excellent",
                            "good",
                            "average",
                            "poor"
                        ],
                        "nullable": true
                    },
                    "birthday": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "anniversary": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "opening_balance": {
                        "type": "number",
                        "nullable": true,
                        "example": 0
                    },
                    "password": {
                        "type": "string",
                        "minLength": 6
                    }
                },
                "description": "Omit `account_code` to auto-assign the next code for the branch (see GET /api/customers/next-code). Provide `address` **or** structured address fields (house_number, area, city, etc.)."
            },
            "AdminCustomerCreateRequest": {
                "type": "object",
                "required": [
                    "franchise_id",
                    "first_name",
                    "last_name",
                    "email",
                    "phone_number",
                    "password"
                ],
                "properties": {
                    "franchise_id": {
                        "type": "integer",
                        "description": "Branch this customer belongs to (must be under your admin network)."
                    },
                    "first_name": {
                        "type": "string",
                        "example": "Rahul"
                    },
                    "last_name": {
                        "type": "string",
                        "example": "Sharma"
                    },
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "username": {
                        "type": "string",
                        "nullable": true
                    },
                    "phone_number": {
                        "type": "string",
                        "example": "9876543210"
                    },
                    "address": {
                        "type": "string",
                        "nullable": true,
                        "description": "Legacy single-line address; optional if structured fields are sent"
                    },
                    "customer_address": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias for address"
                    },
                    "account_code": {
                        "type": "string",
                        "nullable": true,
                        "description": "Optional on create; auto-generated when omitted (shared sequence with account masters). Read-only after create."
                    },
                    "customer_type": {
                        "type": "string",
                        "nullable": true
                    },
                    "status": {
                        "type": "string",
                        "nullable": true
                    },
                    "last_service_date": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "next_service_date": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "branch": {
                        "type": "string",
                        "nullable": true
                    },
                    "house_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "building_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "landmark": {
                        "type": "string",
                        "nullable": true
                    },
                    "area": {
                        "type": "string",
                        "nullable": true
                    },
                    "city": {
                        "type": "string",
                        "nullable": true
                    },
                    "state": {
                        "type": "string",
                        "nullable": true
                    },
                    "pin_code": {
                        "type": "string",
                        "nullable": true
                    },
                    "gst_type": {
                        "type": "string",
                        "nullable": true,
                        "example": "registered"
                    },
                    "gst_number": {
                        "type": "string",
                        "nullable": true,
                        "example": "27AABCU9603R1ZM"
                    },
                    "rating": {
                        "type": "string",
                        "enum": [
                            "excellent",
                            "good",
                            "average",
                            "poor"
                        ],
                        "nullable": true
                    },
                    "birthday": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "anniversary": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "opening_balance": {
                        "type": "number",
                        "nullable": true,
                        "example": 0
                    },
                    "password": {
                        "type": "string",
                        "minLength": 6
                    }
                },
                "description": "Admin create \u2014 `franchise_id` required. Omit `account_code` for auto-generation. Provide `address` or structured address fields."
            },
            "CustomerUpdateRequest": {
                "type": "object",
                "properties": {
                    "franchise_id": {
                        "type": "integer",
                        "description": "Optional; franchise create resolves the logged-in branch automatically."
                    },
                    "first_name": {
                        "type": "string",
                        "example": "Rahul"
                    },
                    "last_name": {
                        "type": "string",
                        "example": "Sharma"
                    },
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "username": {
                        "type": "string",
                        "nullable": true
                    },
                    "phone_number": {
                        "type": "string",
                        "example": "9876543210"
                    },
                    "address": {
                        "type": "string",
                        "nullable": true,
                        "description": "Legacy single-line address; optional if structured fields are sent"
                    },
                    "customer_address": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias for address"
                    },
                    "account_code": {
                        "type": "string",
                        "nullable": true,
                        "description": "Optional on create; auto-generated when omitted (shared sequence with account masters). Read-only after create."
                    },
                    "customer_type": {
                        "type": "string",
                        "nullable": true
                    },
                    "status": {
                        "type": "string",
                        "nullable": true
                    },
                    "last_service_date": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "next_service_date": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "branch": {
                        "type": "string",
                        "nullable": true
                    },
                    "house_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "building_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "landmark": {
                        "type": "string",
                        "nullable": true
                    },
                    "area": {
                        "type": "string",
                        "nullable": true
                    },
                    "city": {
                        "type": "string",
                        "nullable": true
                    },
                    "state": {
                        "type": "string",
                        "nullable": true
                    },
                    "pin_code": {
                        "type": "string",
                        "nullable": true
                    },
                    "gst_type": {
                        "type": "string",
                        "nullable": true,
                        "example": "registered"
                    },
                    "gst_number": {
                        "type": "string",
                        "nullable": true,
                        "example": "27AABCU9603R1ZM"
                    },
                    "rating": {
                        "type": "string",
                        "enum": [
                            "excellent",
                            "good",
                            "average",
                            "poor"
                        ],
                        "nullable": true
                    },
                    "birthday": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "anniversary": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "opening_balance": {
                        "type": "number",
                        "nullable": true,
                        "example": 0
                    }
                },
                "description": "`account_code` is system-assigned and cannot be changed after create."
            },
            "CustomerTypeaheadResult": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "customers.id \u2014 use for prefill / getcustomersById"
                    },
                    "name": {
                        "type": "string"
                    },
                    "phone": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias of phone_number"
                    },
                    "phone_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "account_master_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "address": {
                        "type": "object",
                        "properties": {
                            "house_number": {
                                "type": "string",
                                "nullable": true,
                                "description": "House / flat number"
                            },
                            "building_name": {
                                "type": "string",
                                "nullable": true,
                                "description": "Building / apartment name"
                            },
                            "landmark": {
                                "type": "string",
                                "nullable": true
                            },
                            "area": {
                                "type": "string",
                                "nullable": true
                            },
                            "city": {
                                "type": "string",
                                "nullable": true
                            },
                            "state": {
                                "type": "string",
                                "nullable": true
                            },
                            "pin_code": {
                                "type": "string",
                                "nullable": true
                            },
                            "formatted_address": {
                                "type": "string",
                                "nullable": true,
                                "description": "Single-line composed address"
                            }
                        }
                    },
                    "devices": {
                        "type": "array",
                        "description": "Active registered customer products (RO systems)",
                        "items": {
                            "type": "object",
                            "properties": {
                                "customer_product_id": {
                                    "type": "integer"
                                },
                                "product_id": {
                                    "type": "integer"
                                },
                                "product_name": {
                                    "type": "string",
                                    "nullable": true
                                },
                                "serial_number": {
                                    "type": "string",
                                    "nullable": true
                                },
                                "installation_address": {
                                    "type": "string",
                                    "nullable": true
                                }
                            }
                        }
                    }
                }
            },
            "CustomerPrefillResponse": {
                "type": "object",
                "properties": {
                    "customer_id": {
                        "type": "integer"
                    },
                    "account_master_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "franchise_id": {
                        "type": "integer"
                    },
                    "customer": {
                        "$ref": "#/components/schemas/Customer"
                    },
                    "address": {
                        "type": "object",
                        "description": "Structured address + GST/profile fields"
                    },
                    "account_master": {
                        "type": "object",
                        "nullable": true
                    },
                    "products": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "customer_product_id": {
                                    "type": "integer"
                                },
                                "product_id": {
                                    "type": "integer"
                                },
                                "product_name": {
                                    "type": "string",
                                    "nullable": true
                                },
                                "serial_number": {
                                    "type": "string",
                                    "nullable": true
                                }
                            }
                        }
                    }
                }
            },
            "AmcRiskItem": {
                "type": "object",
                "properties": {
                    "customer_id": {
                        "type": "integer"
                    },
                    "customer": {
                        "type": "string"
                    },
                    "customer_name": {
                        "type": "string",
                        "description": "Alias of customer (amc-risk card)"
                    },
                    "plan": {
                        "type": "string"
                    },
                    "product": {
                        "type": "string",
                        "nullable": true
                    },
                    "expiry_date": {
                        "type": "string",
                        "format": "date"
                    },
                    "amount": {
                        "type": "number",
                        "description": "AMC plan/subscription value (price_paid or plan price)"
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "franchise": {
                        "type": "string",
                        "nullable": true
                    },
                    "franchise_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "days_remaining": {
                        "type": "integer",
                        "description": "Negative = overdue"
                    },
                    "status": {
                        "type": "string",
                        "description": "Subscription/plan status or derived risk label"
                    },
                    "is_overdue": {
                        "type": "boolean"
                    },
                    "action_link_id": {
                        "type": "integer",
                        "description": "Navigate target: subscription, plan, or customer id"
                    },
                    "action_link_type": {
                        "type": "string",
                        "enum": [
                            "product_amc_subscription",
                            "amc_plan",
                            "customer"
                        ]
                    },
                    "risk_status": {
                        "type": "string",
                        "enum": [
                            "overdue",
                            "due_today",
                            "due_soon"
                        ]
                    },
                    "source": {
                        "type": "string"
                    }
                }
            },
            "AmcPlanWriteRequest": {
                "type": "object",
                "required": [
                    "name",
                    "price",
                    "product_id"
                ],
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string",
                        "nullable": true
                    },
                    "features": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "example": [
                            "Annual filter change",
                            "Priority support",
                            "Free spare parts"
                        ],
                        "description": "Plan feature bullets; also accepts legacy newline-separated string on input (normalized server-side)."
                    },
                    "price": {
                        "type": "number",
                        "minimum": 0
                    },
                    "duration_months": {
                        "type": "integer",
                        "minimum": 1
                    },
                    "free_services_count": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "plan_type": {
                        "type": "string",
                        "nullable": true
                    },
                    "product_id": {
                        "type": "integer"
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    }
                }
            },
            "AmcUpcomingServiceItem": {
                "type": "object",
                "properties": {
                    "row_key": {
                        "type": "string"
                    },
                    "customer": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "name": {
                                "type": "string"
                            },
                            "phone_number": {
                                "type": "string",
                                "nullable": true
                            },
                            "franchise_id": {
                                "type": "integer",
                                "nullable": true
                            },
                            "franchise_name": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    "service_type": {
                        "type": "string",
                        "example": "amc_service"
                    },
                    "plan_name": {
                        "type": "string"
                    },
                    "product_type": {
                        "type": "string",
                        "nullable": true
                    },
                    "due_date": {
                        "type": "string",
                        "format": "date"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "due",
                            "overdue",
                            "scheduled",
                            "completed"
                        ]
                    },
                    "subscription_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "complaint_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "customer_product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "source": {
                        "type": "string"
                    },
                    "actions": {
                        "type": "object"
                    }
                }
            },
            "AdminUpcomingAmcServicesList": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string",
                        "example": "Upcoming AMC Services"
                    },
                    "columns": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "example": [
                            "customer",
                            "service_type",
                            "plan_name",
                            "product_type",
                            "due_date",
                            "status",
                            "subscription_id"
                        ]
                    },
                    "data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AmcUpcomingServiceItem"
                        }
                    },
                    "counts": {
                        "type": "object",
                        "properties": {
                            "total": {
                                "type": "integer"
                            },
                            "due": {
                                "type": "integer"
                            },
                            "overdue": {
                                "type": "integer"
                            },
                            "scheduled": {
                                "type": "integer"
                            },
                            "completed": {
                                "type": "integer"
                            }
                        }
                    },
                    "meta": {
                        "type": "object"
                    }
                }
            },
            "AdminExpiringAmcList": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string",
                        "example": "Expiring AMC"
                    },
                    "data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AmcRiskItem"
                        }
                    },
                    "counts": {
                        "type": "object",
                        "properties": {
                            "total": {
                                "type": "integer"
                            },
                            "overdue": {
                                "type": "integer"
                            },
                            "expiring_within_days": {
                                "type": "integer"
                            }
                        }
                    },
                    "meta": {
                        "type": "object"
                    }
                }
            },
            "AdminAmcRiskSummary": {
                "type": "object",
                "properties": {
                    "count_today": {
                        "type": "integer",
                        "description": "Overdue or due on as_of date"
                    },
                    "count_7_days": {
                        "type": "integer",
                        "description": "Due within 7 days of as_of (includes overdue)"
                    },
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AmcRiskItem"
                        }
                    },
                    "meta": {
                        "type": "object"
                    }
                }
            },
            "DashboardAlertItem": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "stock_approval_pending",
                            "low_stock",
                            "unassigned_complaint",
                            "amc_expiring",
                            "task_not_started"
                        ]
                    },
                    "title": {
                        "type": "string"
                    },
                    "message": {
                        "type": "string"
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "entity_id": {
                        "type": "integer"
                    },
                    "severity": {
                        "type": "string",
                        "enum": [
                            "critical",
                            "high",
                            "medium",
                            "low"
                        ]
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                }
            },
            "AdminDashboardAlertsSummary": {
                "type": "object",
                "properties": {
                    "alerts": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/DashboardAlertItem"
                        }
                    },
                    "counts": {
                        "type": "object",
                        "properties": {
                            "stock_approval_pending": {
                                "type": "integer"
                            },
                            "low_stock": {
                                "type": "integer"
                            },
                            "unassigned_complaint": {
                                "type": "integer"
                            },
                            "amc_expiring": {
                                "type": "integer"
                            },
                            "task_not_started": {
                                "type": "integer"
                            },
                            "total": {
                                "type": "integer"
                            }
                        }
                    },
                    "meta": {
                        "type": "object"
                    }
                }
            },
            "DashboardActivityItem": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "stock_approval_submitted",
                            "complaint_created",
                            "amc_renewal_request",
                            "amc_renewed",
                            "technician_online",
                            "technician_task_completed"
                        ]
                    },
                    "title": {
                        "type": "string"
                    },
                    "message": {
                        "type": "string"
                    },
                    "franchise_id": {
                        "type": "integer"
                    },
                    "entity_id": {
                        "type": "integer"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                }
            },
            "AdminDashboardActivitiesSummary": {
                "type": "object",
                "properties": {
                    "activities": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/DashboardActivityItem"
                        }
                    },
                    "meta": {
                        "type": "object"
                    }
                }
            },
            "AdminReceivablesSummary": {
                "type": "object",
                "properties": {
                    "total_receivables": {
                        "type": "number",
                        "example": 125000.5
                    },
                    "meta": {
                        "type": "object",
                        "properties": {
                            "source": {
                                "type": "string",
                                "example": "tax_invoices"
                            },
                            "formula": {
                                "type": "string"
                            },
                            "franchise_ids": {
                                "type": "array",
                                "items": {
                                    "type": "integer"
                                }
                            },
                            "as_of": {
                                "type": "string",
                                "format": "date",
                                "nullable": true
                            },
                            "from": {
                                "type": "string",
                                "format": "date",
                                "nullable": true
                            }
                        }
                    }
                }
            },
            "DashboardStatisticsFilters": {
                "type": "object",
                "properties": {
                    "period": {
                        "type": "string",
                        "enum": [
                            "7d",
                            "30d",
                            "month",
                            "all",
                            "custom"
                        ]
                    },
                    "from": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "to": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "limit": {
                        "type": "integer",
                        "example": 10
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "franchise_ids": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        }
                    }
                }
            },
            "AdminTopServiceItem": {
                "type": "object",
                "properties": {
                    "rank": {
                        "type": "integer",
                        "example": 1
                    },
                    "product_id": {
                        "type": "integer"
                    },
                    "service_name": {
                        "type": "string",
                        "example": "RO Service"
                    },
                    "count": {
                        "type": "integer",
                        "example": 42,
                        "description": "Completed tasks in period"
                    },
                    "amount": {
                        "type": "number",
                        "example": 12500,
                        "description": "Payment revenue linked to completed tasks"
                    },
                    "total_amount": {
                        "type": "number",
                        "example": 12500
                    },
                    "change_percent": {
                        "type": "number",
                        "example": 12.5,
                        "description": "Absolute % vs previous period amount"
                    },
                    "change_direction": {
                        "type": "string",
                        "enum": [
                            "increase",
                            "decrease",
                            "unchanged"
                        ]
                    },
                    "previous_value": {
                        "type": "number",
                        "description": "Previous period amount"
                    }
                }
            },
            "AdminTopFranchiseItem": {
                "type": "object",
                "properties": {
                    "rank": {
                        "type": "integer",
                        "example": 1
                    },
                    "franchise_id": {
                        "type": "integer"
                    },
                    "franchise_name": {
                        "type": "string"
                    },
                    "location": {
                        "type": "string",
                        "nullable": true
                    },
                    "is_active": {
                        "type": "boolean"
                    },
                    "total_revenue": {
                        "type": "number",
                        "example": 85000
                    },
                    "amount": {
                        "type": "number",
                        "example": 85000,
                        "description": "Alias of total_revenue"
                    },
                    "payments_count": {
                        "type": "integer",
                        "example": 12
                    },
                    "change_percent": {
                        "type": "number",
                        "example": 8
                    },
                    "change_direction": {
                        "type": "string",
                        "enum": [
                            "increase",
                            "decrease",
                            "unchanged"
                        ]
                    },
                    "previous_value": {
                        "type": "number",
                        "description": "Previous period revenue"
                    }
                }
            },
            "AdminTopServicesSummary": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string",
                        "example": "Top Services"
                    },
                    "data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AdminTopServiceItem"
                        }
                    },
                    "filters": {
                        "$ref": "#/components/schemas/DashboardStatisticsFilters"
                    },
                    "meta": {
                        "type": "object"
                    }
                }
            },
            "AdminTopFranchisesSummary": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string",
                        "example": "Top Franchises"
                    },
                    "data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AdminTopFranchiseItem"
                        }
                    },
                    "total_revenue": {
                        "type": "number"
                    },
                    "filters": {
                        "$ref": "#/components/schemas/DashboardStatisticsFilters"
                    },
                    "meta": {
                        "type": "object"
                    }
                }
            },
            "AdminMonthlyStatisticsSummary": {
                "type": "object",
                "properties": {
                    "month": {
                        "type": "string",
                        "nullable": true,
                        "example": "2026-06",
                        "description": "Set when period=month"
                    },
                    "period": {
                        "type": "string",
                        "enum": [
                            "7d",
                            "30d",
                            "month",
                            "all",
                            "custom"
                        ]
                    },
                    "filters": {
                        "$ref": "#/components/schemas/DashboardStatisticsFilters"
                    },
                    "top_services": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AdminTopServiceItem"
                        }
                    },
                    "top_franchises": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AdminTopFranchiseItem"
                        }
                    },
                    "top_service": {
                        "$ref": "#/components/schemas/AdminTopServiceItem",
                        "nullable": true
                    },
                    "top_franchise": {
                        "$ref": "#/components/schemas/AdminTopFranchiseItem",
                        "nullable": true
                    }
                }
            },
            "AdminTopStatisticsReport": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string",
                        "example": "Top Services & Franchises Report"
                    },
                    "top_services": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AdminTopServiceItem"
                        }
                    },
                    "top_franchises": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AdminTopFranchiseItem"
                        }
                    },
                    "totals": {
                        "type": "object",
                        "properties": {
                            "completed_tasks": {
                                "type": "integer"
                            },
                            "network_revenue": {
                                "type": "number"
                            }
                        }
                    },
                    "filters": {
                        "$ref": "#/components/schemas/DashboardStatisticsFilters"
                    }
                }
            },
            "InventoryInsightProductItem": {
                "type": "object",
                "properties": {
                    "product_id": {
                        "type": "integer"
                    },
                    "product_name": {
                        "type": "string"
                    },
                    "units_used": {
                        "type": "integer"
                    },
                    "demand": {
                        "type": "string",
                        "enum": [
                            "high",
                            "low"
                        ]
                    }
                }
            },
            "Product": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "barcode": {
                        "type": "string",
                        "nullable": true,
                        "example": "8901234567890"
                    },
                    "description": {
                        "type": "string",
                        "nullable": true
                    },
                    "price": {
                        "type": "number"
                    },
                    "stock": {
                        "type": "integer"
                    },
                    "is_active": {
                        "type": "boolean"
                    }
                }
            },
            "ProductCreateRequest": {
                "type": "object",
                "required": [
                    "name",
                    "price"
                ],
                "properties": {
                    "name": {
                        "type": "string",
                        "example": "RO Membrane 75GPD"
                    },
                    "barcode": {
                        "type": "string",
                        "nullable": true,
                        "example": "8901234567890",
                        "description": "Unique per product; duplicate rejected on create"
                    },
                    "description": {
                        "type": "string",
                        "nullable": true
                    },
                    "price": {
                        "type": "number",
                        "example": 1200
                    },
                    "is_active": {
                        "type": "boolean",
                        "nullable": true
                    }
                }
            },
            "ProductBarcodeLookup": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string",
                        "example": "Product found"
                    },
                    "barcode": {
                        "type": "string",
                        "example": "8901234567890"
                    },
                    "product_id": {
                        "type": "integer"
                    },
                    "product": {
                        "$ref": "#/components/schemas/Product"
                    }
                }
            },
            "InventoryCreateRequest": {
                "type": "object",
                "required": [
                    "franchise_id",
                    "quantity"
                ],
                "properties": {
                    "product_id": {
                        "type": "integer",
                        "description": "Required unless barcode is sent"
                    },
                    "barcode": {
                        "type": "string",
                        "example": "8901234567890",
                        "description": "Scanned barcode; resolves to product_id when product_id omitted"
                    },
                    "franchise_id": {
                        "type": "integer"
                    },
                    "quantity": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "minimum_quantity": {
                        "type": "integer",
                        "minimum": 0,
                        "nullable": true
                    },
                    "unit_price": {
                        "type": "number",
                        "minimum": 0,
                        "example": 450,
                        "description": "Synced to stocks.unit_price for this product + franchise"
                    },
                    "rate": {
                        "type": "number",
                        "minimum": 0,
                        "description": "Alias for unit_price"
                    }
                }
            },
            "InventoryRow": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "product_id": {
                        "type": "integer"
                    },
                    "franchise_id": {
                        "type": "integer"
                    },
                    "quantity": {
                        "type": "integer"
                    },
                    "minimum_quantity": {
                        "type": "integer"
                    },
                    "effective_minimum": {
                        "type": "integer",
                        "description": "Threshold used for status: inventories.minimum_quantity, else stocks.minimum_stock"
                    },
                    "unit_price": {
                        "type": "number",
                        "description": "From stocks.unit_price, else products.price"
                    },
                    "total_value": {
                        "type": "number",
                        "description": "quantity \u00d7 unit_price"
                    },
                    "line_value": {
                        "type": "number",
                        "description": "Alias of total_value (backward compatible)"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "in_stock",
                            "low_stock",
                            "out_of_stock"
                        ],
                        "description": "Stock level for this row"
                    },
                    "status_label": {
                        "type": "string",
                        "enum": [
                            "In Stock",
                            "Low Stock",
                            "Out of Stock"
                        ]
                    },
                    "product": {
                        "type": "object",
                        "nullable": true
                    },
                    "franchise": {
                        "type": "object",
                        "nullable": true
                    }
                }
            },
            "InventoryCreateResponse": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "resolved_product_id": {
                        "type": "integer"
                    },
                    "resolved_via": {
                        "type": "string",
                        "enum": [
                            "product_id",
                            "barcode"
                        ]
                    },
                    "inventory": {
                        "$ref": "#/components/schemas/InventoryRow"
                    },
                    "warning": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "AdminCentralInventorySummary": {
                "type": "object",
                "properties": {
                    "total_unique_items": {
                        "type": "integer",
                        "example": 150,
                        "description": "Distinct active products with stock and/or inventory at scope"
                    },
                    "low_stock_count": {
                        "type": "integer",
                        "example": 12,
                        "description": "quantity > 0 and below minimum_stock / minimum_quantity"
                    },
                    "out_of_stock_count": {
                        "type": "integer",
                        "example": 3,
                        "description": "Tracked products with quantity 0"
                    },
                    "total_inventory_value": {
                        "type": "number",
                        "example": 450000,
                        "description": "sum(quantity \u00d7 unit_price); stocks.unit_price else products.price"
                    },
                    "meta": {
                        "type": "object",
                        "properties": {
                            "scope": {
                                "type": "string",
                                "enum": [
                                    "headquarters",
                                    "franchise"
                                ]
                            },
                            "franchise_id": {
                                "type": "integer",
                                "nullable": true
                            },
                            "franchise_name": {
                                "type": "string",
                                "nullable": true
                            },
                            "is_headquarters": {
                                "type": "boolean"
                            },
                            "value_formula": {
                                "type": "string"
                            },
                            "quantity_formula": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "AdminInventoryInsightsSummary": {
                "type": "object",
                "properties": {
                    "month": {
                        "type": "string",
                        "nullable": true,
                        "example": "2026-06",
                        "description": "Set when period=month"
                    },
                    "period": {
                        "type": "string",
                        "enum": [
                            "7d",
                            "30d",
                            "month",
                            "all",
                            "custom"
                        ]
                    },
                    "filters": {
                        "$ref": "#/components/schemas/DashboardDateFilters"
                    },
                    "fast_moving": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/InventoryInsightProductItem"
                        }
                    },
                    "slow_moving": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/InventoryInsightProductItem"
                        }
                    },
                    "meta": {
                        "type": "object"
                    }
                }
            },
            "TopSellingProductItem": {
                "type": "object",
                "properties": {
                    "product_id": {
                        "type": "integer"
                    },
                    "product_name": {
                        "type": "string"
                    },
                    "sales_count": {
                        "type": "integer"
                    },
                    "total_amount": {
                        "type": "number"
                    },
                    "ratio_percent": {
                        "type": "number"
                    }
                }
            },
            "AdminTopSellingProductsSummary": {
                "type": "object",
                "properties": {
                    "month": {
                        "type": "string",
                        "nullable": true,
                        "example": "2026-06"
                    },
                    "period": {
                        "type": "string",
                        "enum": [
                            "7d",
                            "30d",
                            "month",
                            "all",
                            "custom"
                        ]
                    },
                    "filters": {
                        "$ref": "#/components/schemas/DashboardDateFilters"
                    },
                    "total_sales_amount": {
                        "type": "number"
                    },
                    "data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TopSellingProductItem"
                        }
                    },
                    "meta": {
                        "type": "object"
                    }
                }
            },
            "DashboardDateFilters": {
                "type": "object",
                "properties": {
                    "period": {
                        "type": "string",
                        "enum": [
                            "7d",
                            "30d",
                            "month",
                            "all",
                            "custom"
                        ]
                    },
                    "from": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "to": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    }
                }
            },
            "ComplaintDashboardSummary": {
                "type": "object",
                "properties": {
                    "total": {
                        "type": "integer",
                        "example": 120
                    },
                    "open": {
                        "type": "integer",
                        "example": 35,
                        "description": "Unassigned, not resolved"
                    },
                    "in_progress": {
                        "type": "integer",
                        "example": 42,
                        "description": "Assigned, not resolved"
                    },
                    "resolved": {
                        "type": "integer",
                        "example": 43,
                        "description": "status complete/completed/done"
                    },
                    "awaiting_parts": {
                        "type": "integer",
                        "example": 0,
                        "description": "status awaiting_parts"
                    },
                    "meta": {
                        "type": "object",
                        "description": "Bucket definitions and status \u2192 bucket mapping",
                        "properties": {
                            "buckets": {
                                "type": "object"
                            },
                            "status_mapping": {
                                "type": "object"
                            },
                            "list_filter": {
                                "type": "string"
                            },
                            "franchise_ids": {
                                "type": "array",
                                "items": {
                                    "type": "integer"
                                }
                            },
                            "franchise_id_filter": {
                                "type": "integer",
                                "nullable": true
                            }
                        }
                    }
                }
            },
            "ComplaintCreateRequest": {
                "type": "object",
                "required": [
                    "complaint_title",
                    "complaint_details"
                ],
                "properties": {
                    "account_master_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Franchise/admin: id from GET /api/account-masters. Address optional \u2014 backend fills from account master / linked customer when omitted.",
                        "example": 15
                    },
                    "customer_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Operational customers.id from GET /api/getAllcustomers or prefill. May be sent with account_master_id; account master wins when both are present."
                    },
                    "complaint_by": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Legacy alias for account_master_id."
                    },
                    "complaint_title": {
                        "type": "string",
                        "example": "RO not working"
                    },
                    "complaint_details": {
                        "type": "string",
                        "example": "No water output since morning"
                    },
                    "remarks": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias for complaint_details"
                    },
                    "remark": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias for complaint_details"
                    },
                    "complaint_type": {
                        "type": "string",
                        "example": "ro_service"
                    },
                    "request_type": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias for complaint_type"
                    },
                    "customer_product_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "When set, product_category may be inferred from linked product"
                    },
                    "assigned_to": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Optional technicians.id \u2014 assigns task on create (admin/franchise only)"
                    },
                    "technician_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Alias for assigned_to"
                    },
                    "warranty": {
                        "type": "boolean",
                        "nullable": true,
                        "description": "Optional. Also accepts warranty_status strings such as in warranty / out of warranty"
                    },
                    "warranty_status": {
                        "type": "string",
                        "nullable": true,
                        "example": "in warranty",
                        "description": "UI label alias \u2014 parsed to boolean warranty"
                    },
                    "product_category": {
                        "type": "string",
                        "nullable": true,
                        "example": "Water Purifier",
                        "description": "Optional. Alias: complaint_category"
                    },
                    "priority": {
                        "type": "string",
                        "enum": [
                            "low",
                            "normal",
                            "medium",
                            "high"
                        ],
                        "description": "medium is stored as normal"
                    },
                    "address": {
                        "type": "string",
                        "nullable": true,
                        "description": "Optional full address line. Omit when using account_master_id \u2014 backend auto-fills."
                    },
                    "house_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "building_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "landmark": {
                        "type": "string",
                        "nullable": true
                    },
                    "area": {
                        "type": "string",
                        "nullable": true
                    },
                    "city": {
                        "type": "string",
                        "nullable": true
                    },
                    "state": {
                        "type": "string",
                        "nullable": true
                    },
                    "pin_code": {
                        "type": "string",
                        "nullable": true
                    },
                    "formatted_address": {
                        "type": "string",
                        "nullable": true
                    },
                    "latitude": {
                        "type": "number",
                        "nullable": true
                    },
                    "longitude": {
                        "type": "number",
                        "nullable": true
                    },
                    "accuracy_m": {
                        "type": "number",
                        "nullable": true
                    },
                    "captured_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    }
                }
            },
            "ComplaintRegister": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "complaint_number": {
                        "type": "string"
                    },
                    "complaint_title": {
                        "type": "string"
                    },
                    "complaint_details": {
                        "type": "string"
                    },
                    "complaint_type": {
                        "type": "string",
                        "nullable": true
                    },
                    "customer_product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "warranty": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "product_category": {
                        "type": "string",
                        "nullable": true
                    },
                    "product_name": {
                        "type": "string",
                        "nullable": true,
                        "description": "From linked customer_product \u2192 product"
                    },
                    "status": {
                        "type": "string"
                    },
                    "priority": {
                        "type": "string"
                    },
                    "scheduled_date": {
                        "type": "string",
                        "format": "date",
                        "nullable": true,
                        "description": "Current or proposed visit date"
                    },
                    "reschedule_requested_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "reschedule_reason": {
                        "type": "string",
                        "nullable": true
                    },
                    "reschedule_status": {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                            "pending",
                            "approved",
                            "rejected"
                        ],
                        "description": "Franchise approval workflow via POST /api/reschedule/*"
                    }
                }
            },
            "RescheduleRequest": {
                "type": "object",
                "required": [
                    "new_scheduled_date",
                    "reason"
                ],
                "properties": {
                    "complaint_id": {
                        "type": "integer",
                        "description": "complaint_registers.id \u2014 send this or task_id"
                    },
                    "task_id": {
                        "type": "integer",
                        "description": "full_functionality_tasks.id \u2014 technician app typically sends this"
                    },
                    "new_scheduled_date": {
                        "type": "string",
                        "format": "date",
                        "description": "Proposed visit date (must be today or later)"
                    },
                    "reason": {
                        "type": "string",
                        "maxLength": 1000
                    }
                }
            },
            "RescheduleRequestData": {
                "type": "object",
                "properties": {
                    "complaint_id": {
                        "type": "integer"
                    },
                    "task_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "complaint_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "new_scheduled_date": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "reschedule_reason": {
                        "type": "string",
                        "nullable": true
                    },
                    "reschedule_status": {
                        "type": "string",
                        "enum": [
                            "pending",
                            "approved",
                            "rejected"
                        ]
                    },
                    "requested_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    }
                }
            },
            "RescheduleRequestResponse": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string",
                        "example": "Reschedule request sent successfully"
                    },
                    "data": {
                        "$ref": "#/components/schemas/RescheduleRequestData"
                    }
                }
            },
            "FranchiseRescheduleRequestRow": {
                "type": "object",
                "properties": {
                    "complaint_id": {
                        "type": "integer"
                    },
                    "complaint_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "complaint_title": {
                        "type": "string",
                        "nullable": true
                    },
                    "customer_name": {
                        "type": "string"
                    },
                    "technician_name": {
                        "type": "string"
                    },
                    "current_scheduled_date": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "reschedule_requested_date": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "reschedule_reason": {
                        "type": "string",
                        "nullable": true
                    },
                    "reschedule_status": {
                        "type": "string",
                        "enum": [
                            "pending",
                            "approved",
                            "rejected"
                        ]
                    },
                    "requested_by_type": {
                        "type": "string",
                        "enum": [
                            "customer",
                            "technician"
                        ]
                    }
                }
            },
            "FranchiseRescheduleRequestsResponse": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/FranchiseRescheduleRequestRow"
                        }
                    },
                    "meta": {
                        "$ref": "#/components/schemas/PaginationMeta"
                    }
                }
            },
            "RescheduleDecisionRequest": {
                "type": "object",
                "required": [
                    "complaint_id",
                    "action"
                ],
                "properties": {
                    "complaint_id": {
                        "type": "integer"
                    },
                    "action": {
                        "type": "string",
                        "enum": [
                            "approve",
                            "reject"
                        ]
                    },
                    "final_scheduled_date": {
                        "type": "string",
                        "format": "date",
                        "description": "Required when action is approve"
                    },
                    "rejection_reason": {
                        "type": "string",
                        "maxLength": 500,
                        "description": "Required when action is reject; sent to customer notification"
                    }
                }
            },
            "RescheduleDecisionResponse": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string"
                    },
                    "data": {
                        "type": "object",
                        "properties": {
                            "complaint_id": {
                                "type": "integer"
                            },
                            "complaint_number": {
                                "type": "string",
                                "nullable": true
                            },
                            "action": {
                                "type": "string",
                                "enum": [
                                    "approve",
                                    "reject"
                                ]
                            },
                            "final_scheduled_date": {
                                "type": "string",
                                "format": "date",
                                "nullable": true
                            },
                            "reschedule_status": {
                                "type": "string",
                                "enum": [
                                    "pending",
                                    "approved",
                                    "rejected"
                                ]
                            },
                            "reschedule_reason": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    }
                }
            },
            "Task": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "pending",
                            "in_progress",
                            "done",
                            "rescheduled"
                        ]
                    },
                    "technician_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "customer_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "service_type": {
                        "type": "string",
                        "nullable": true
                    },
                    "accuracy_m": {
                        "type": "number",
                        "nullable": true
                    },
                    "captured_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "coordinates_source": {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                            "complaint_snapshot",
                            "customer",
                            "customer_product",
                            "franchise"
                        ]
                    },
                    "visit_location": {
                        "$ref": "#/components/schemas/VisitLocation"
                    }
                }
            },
            "TaskAssignRequest": {
                "type": "object",
                "required": [
                    "technician_id",
                    "complain_id",
                    "customer_id",
                    "inventories_id"
                ],
                "properties": {
                    "technician_id": {
                        "type": "integer"
                    },
                    "complain_id": {
                        "type": "integer",
                        "description": "complaint_registers.id"
                    },
                    "customer_id": {
                        "type": "integer"
                    },
                    "inventories_id": {
                        "type": "integer",
                        "description": "inventories.id (not products.id)"
                    },
                    "customer_product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "pending",
                            "in_progress",
                            "done",
                            "rescheduled"
                        ]
                    },
                    "service_type": {
                        "type": "string"
                    },
                    "payment_mode": {
                        "type": "string",
                        "enum": [
                            "cash",
                            "online"
                        ]
                    },
                    "inventory_task": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "ComplaintAssignUpdateRequest": {
                "type": "object",
                "properties": {
                    "assigned_to": {
                        "type": "integer",
                        "nullable": true,
                        "description": "technicians.id \u2014 creates/updates full_functionality_tasks via TaskAssignmentService"
                    },
                    "inventories_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Recommended for RO/AMC; inferable when device already linked"
                    },
                    "inventory_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "customer_product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "warranty": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "product_category": {
                        "type": "string",
                        "nullable": true
                    },
                    "franchise_assigned_by": {
                        "type": "integer",
                        "nullable": true
                    },
                    "complaint_title": {
                        "type": "string"
                    },
                    "complaint_details": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "pending",
                            "complete",
                            "rescheduled",
                            "awaiting_parts",
                            "cancelled"
                        ]
                    },
                    "priority": {
                        "type": "string",
                        "enum": [
                            "low",
                            "normal",
                            "high"
                        ]
                    }
                }
            },
            "ComplaintTaskAssignment": {
                "type": "object",
                "properties": {
                    "task_id": {
                        "type": "integer"
                    },
                    "task_created": {
                        "type": "boolean"
                    },
                    "task_reassigned": {
                        "type": "boolean"
                    },
                    "message": {
                        "type": "string"
                    },
                    "task": {
                        "type": "object"
                    }
                }
            },
            "TaskUpdateRequest": {
                "type": "object",
                "properties": {
                    "status": {
                        "type": "string",
                        "enum": [
                            "pending",
                            "in_progress",
                            "done",
                            "rescheduled"
                        ],
                        "description": "For franchise-approval reschedules use POST /api/reschedule/request instead of status=rescheduled"
                    },
                    "nextVisitDate": {
                        "type": "string",
                        "format": "date",
                        "description": "Only when status=rescheduled (direct task reschedule; bypasses franchise queue)"
                    },
                    "rescheduleReason": {
                        "type": "string",
                        "description": "Only when status=rescheduled"
                    },
                    "payment_mode": {
                        "type": "string",
                        "enum": [
                            "cash",
                            "online"
                        ]
                    },
                    "cash_received_amount": {
                        "type": "number",
                        "minimum": 0
                    }
                }
            },
            "VisitLocation": {
                "type": "object",
                "properties": {
                    "address": {
                        "type": "string",
                        "nullable": true
                    },
                    "customer_address": {
                        "type": "string",
                        "nullable": true
                    },
                    "latitude": {
                        "type": "number",
                        "nullable": true
                    },
                    "longitude": {
                        "type": "number",
                        "nullable": true
                    },
                    "accuracy_m": {
                        "type": "number",
                        "nullable": true
                    },
                    "captured_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "coordinates_source": {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                            "complaint_snapshot",
                            "customer",
                            "customer_product",
                            "franchise"
                        ]
                    },
                    "has_coordinates": {
                        "type": "boolean"
                    },
                    "map_pin_available": {
                        "type": "boolean"
                    },
                    "location_warning": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "TrackingLogRequest": {
                "type": "object",
                "properties": {
                    "tracked_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "latitude": {
                        "type": "number",
                        "minimum": -90,
                        "maximum": 90
                    },
                    "longitude": {
                        "type": "number",
                        "minimum": -180,
                        "maximum": 180
                    },
                    "accuracy_m": {
                        "type": "number",
                        "minimum": 0,
                        "description": "Meters"
                    },
                    "speed_kmh": {
                        "type": "number",
                        "minimum": 0,
                        "description": "km/h"
                    },
                    "provider": {
                        "type": "string",
                        "example": "gps"
                    },
                    "address": {
                        "type": "string",
                        "nullable": true
                    },
                    "battery_percent": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 100
                    }
                }
            },
            "TrackingHistoryRow": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "franchise_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "technician_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "technician_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "tracked_at": {
                        "type": "string",
                        "example": "2026-06-09 14:30:00"
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "time": {
                        "type": "string",
                        "example": "14:30:00",
                        "nullable": true
                    },
                    "latitude": {
                        "type": "number",
                        "nullable": true
                    },
                    "longitude": {
                        "type": "number",
                        "nullable": true
                    },
                    "accuracy_m": {
                        "type": "number",
                        "nullable": true
                    },
                    "speed_kmh": {
                        "type": "number",
                        "nullable": true
                    },
                    "provider": {
                        "type": "string",
                        "nullable": true
                    },
                    "address": {
                        "type": "string",
                        "nullable": true
                    },
                    "battery_percent": {
                        "type": "integer",
                        "nullable": true
                    },
                    "remarks": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "TrackingHistoryTechnicianOption": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Present on admin responses"
                    },
                    "franchise_name": {
                        "type": "string",
                        "nullable": true,
                        "description": "Present on admin responses"
                    }
                }
            },
            "TrackingHistoryResponse": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TrackingHistoryRow"
                        }
                    },
                    "meta": {
                        "$ref": "#/components/schemas/PaginationMeta"
                    },
                    "technicians": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TrackingHistoryTechnicianOption"
                        },
                        "description": "Technicians under scope for filter dropdown"
                    },
                    "filters": {
                        "type": "object",
                        "properties": {
                            "technician": {
                                "type": "string",
                                "nullable": true
                            },
                            "date": {
                                "type": "string",
                                "nullable": true
                            },
                            "franchise_id": {
                                "type": "integer",
                                "nullable": true
                            }
                        }
                    },
                    "franchises": {
                        "type": "array",
                        "nullable": true,
                        "description": "Admin only \u2014 franchise filter dropdown",
                        "items": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "integer"
                                },
                                "name": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "AccountMasterEmbed": {
                "type": "object",
                "nullable": true,
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "account_code": {
                        "type": "string",
                        "nullable": true
                    },
                    "label": {
                        "type": "string",
                        "nullable": true,
                        "description": "Display label for pickers"
                    }
                }
            },
            "BankMasterEmbed": {
                "type": "object",
                "nullable": true,
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "bank_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "branch": {
                        "type": "string",
                        "nullable": true
                    },
                    "account_no": {
                        "type": "string",
                        "nullable": true
                    },
                    "label": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "FranchiseNameEmbed": {
                "type": "object",
                "nullable": true,
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "franchise_name": {
                        "type": "string"
                    }
                }
            },
            "TaxInvoice": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "invoice_number": {
                        "type": "string"
                    },
                    "code": {
                        "type": "string",
                        "nullable": true
                    },
                    "company_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "contact": {
                        "type": "string",
                        "nullable": true
                    },
                    "address": {
                        "type": "string",
                        "nullable": true,
                        "description": "Full customer billing address (not city-only)"
                    },
                    "customer_address": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias of address on read; full formatted address"
                    },
                    "gst_number": {
                        "type": "string",
                        "nullable": true,
                        "example": "27AABCU9603R1ZM"
                    },
                    "date": {
                        "type": "string"
                    },
                    "contract_start": {
                        "type": "string",
                        "nullable": true,
                        "example": "08-06-2026"
                    },
                    "contract_end": {
                        "type": "string",
                        "nullable": true,
                        "example": "07-06-2027"
                    },
                    "contract_form": {
                        "type": "string",
                        "nullable": true,
                        "example": "Annual AMC"
                    },
                    "number_of_services": {
                        "type": "integer",
                        "nullable": true,
                        "example": 4
                    },
                    "scheduled_service_visits": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "08-09-2026"
                        },
                        "description": "Scheduled AMC/service visit dates (d-m-Y)"
                    },
                    "bill_type": {
                        "type": "string"
                    },
                    "amount": {
                        "type": "number"
                    },
                    "tax_amount": {
                        "type": "number"
                    },
                    "total_amount": {
                        "type": "number"
                    },
                    "tot_amount": {
                        "type": "number",
                        "description": "List alias for total_amount"
                    },
                    "status": {
                        "type": "string",
                        "nullable": true
                    },
                    "remarks": {
                        "type": "string",
                        "nullable": true
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "customer_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "product_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "product": {
                        "type": "object",
                        "nullable": true,
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "name": {
                                "type": "string"
                            }
                        }
                    },
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TaxInvoiceLineItem"
                        }
                    }
                }
            },
            "TaxInvoiceCreateRequest": {
                "type": "object",
                "required": [
                    "date"
                ],
                "properties": {
                    "code": {
                        "type": "string",
                        "example": "C001"
                    },
                    "company_name": {
                        "type": "string",
                        "example": "ABC Corp"
                    },
                    "contact": {
                        "type": "string",
                        "nullable": true
                    },
                    "address": {
                        "type": "string",
                        "nullable": true,
                        "example": "12 MG Road, Pune 411001"
                    },
                    "customer_address": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias for address"
                    },
                    "gst_number": {
                        "type": "string",
                        "nullable": true,
                        "example": "27AABCU9603R1ZM"
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-06-08"
                    },
                    "contract_start": {
                        "type": "string",
                        "format": "date",
                        "nullable": true,
                        "example": "2026-06-08"
                    },
                    "contract-start": {
                        "type": "string",
                        "format": "date",
                        "nullable": true,
                        "description": "Alias for contract_start"
                    },
                    "contract_end": {
                        "type": "string",
                        "format": "date",
                        "nullable": true,
                        "example": "2027-06-07"
                    },
                    "contract_form": {
                        "type": "string",
                        "nullable": true,
                        "example": "Annual AMC"
                    },
                    "contract-form": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias for contract_form"
                    },
                    "number_of_services": {
                        "type": "integer",
                        "minimum": 0,
                        "nullable": true,
                        "example": 4
                    },
                    "numberOfServices": {
                        "type": "integer",
                        "minimum": 0,
                        "nullable": true,
                        "description": "Alias for number_of_services"
                    },
                    "scheduled_service_visits": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Explicit visit dates. Auto-computed from contract_start, contract_end, and number_of_services when omitted."
                    },
                    "service_visits": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "date"
                        },
                        "description": "Alias for scheduled_service_visits"
                    },
                    "bill_type": {
                        "type": "string",
                        "enum": [
                            "sales",
                            "amc",
                            "warranty",
                            "rental"
                        ]
                    },
                    "franchise_id": {
                        "type": "integer"
                    },
                    "customer_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "remarks": {
                        "type": "string",
                        "nullable": true
                    },
                    "total_amount": {
                        "type": "number",
                        "description": "Ignored when items[] is sent"
                    },
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TaxInvoiceLineItem"
                        }
                    }
                }
            },
            "TaxInvoiceLineItem": {
                "type": "object",
                "properties": {
                    "item_name": {
                        "type": "string",
                        "example": "RO Filter",
                        "description": "Resolved from product_id or amc_plan_id when omitted"
                    },
                    "name": {
                        "type": "string",
                        "description": "Alias for item_name"
                    },
                    "product_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "product": {
                        "type": "object",
                        "nullable": true,
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "name": {
                                "type": "string"
                            }
                        }
                    },
                    "amc_plan_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "amc_plan": {
                        "type": "object",
                        "nullable": true,
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "name": {
                                "type": "string"
                            }
                        }
                    },
                    "hsn_code": {
                        "type": "string",
                        "example": "8421"
                    },
                    "qty": {
                        "type": "integer",
                        "minimum": 1,
                        "example": 2
                    },
                    "unit_price": {
                        "type": "number",
                        "example": 500
                    },
                    "rate": {
                        "type": "number",
                        "description": "Alias for unit_price"
                    },
                    "discount": {
                        "type": "number",
                        "example": 50
                    },
                    "gst_percent": {
                        "type": "number",
                        "example": 18
                    },
                    "tax_amount": {
                        "type": "number",
                        "example": 90
                    },
                    "serial_number": {
                        "type": "string",
                        "example": "SN123"
                    },
                    "item_type": {
                        "type": "string",
                        "enum": [
                            "product",
                            "amc",
                            "part",
                            "service"
                        ]
                    },
                    "product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "amc_plan_id": {
                        "type": "integer",
                        "nullable": true
                    }
                }
            },
            "TaxInvoiceEmailResponse": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string",
                        "example": "Tax invoice emailed successfully"
                    },
                    "to": {
                        "type": "string",
                        "format": "email"
                    },
                    "invoice_id": {
                        "type": "integer"
                    },
                    "invoice_number": {
                        "type": "string"
                    },
                    "attachment": {
                        "type": "string",
                        "example": "tax-invoice-0036-8922-js-4000.pdf"
                    }
                }
            },
            "TaxInvoiceWhatsAppResponse": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string",
                        "example": "WhatsApp share link generated"
                    },
                    "invoice_id": {
                        "type": "integer"
                    },
                    "invoice_number": {
                        "type": "string"
                    },
                    "phone": {
                        "type": "string",
                        "example": "919876543210"
                    },
                    "whatsapp_message": {
                        "type": "string",
                        "description": "Pre-filled WhatsApp text body"
                    },
                    "whatsapp_url": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://wa.me/919876543210?text=..."
                    },
                    "integration": {
                        "type": "string",
                        "example": "wa_me_link"
                    },
                    "hint": {
                        "type": "string"
                    }
                }
            },
            "PurchaseLineItem": {
                "type": "object",
                "required": [
                    "item_name"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "product_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "item_name": {
                        "type": "string",
                        "example": "RO Membrane"
                    },
                    "name": {
                        "type": "string",
                        "description": "Alias for item_name"
                    },
                    "hsn_code": {
                        "type": "string",
                        "example": "8421",
                        "nullable": true
                    },
                    "qty": {
                        "type": "integer",
                        "minimum": 1,
                        "example": 2
                    },
                    "unit_price": {
                        "type": "number",
                        "example": 500
                    },
                    "rate": {
                        "type": "number",
                        "description": "Alias for unit_price"
                    },
                    "discount": {
                        "type": "number",
                        "example": 50
                    },
                    "amount": {
                        "type": "number",
                        "example": 950
                    },
                    "gst_percent": {
                        "type": "number",
                        "example": 18,
                        "nullable": true
                    },
                    "tax_amount": {
                        "type": "number",
                        "example": 171
                    },
                    "total_amount": {
                        "type": "number",
                        "example": 1121
                    },
                    "serial_number": {
                        "type": "string",
                        "example": "SN123",
                        "nullable": true
                    }
                }
            },
            "Purchase": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "purchase_number": {
                        "type": "string",
                        "example": "PO-1002"
                    },
                    "code": {
                        "type": "string",
                        "nullable": true
                    },
                    "date": {
                        "type": "string",
                        "example": "08-06-2026"
                    },
                    "company_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "contact": {
                        "type": "string",
                        "nullable": true
                    },
                    "amount": {
                        "type": "number"
                    },
                    "tax_amount": {
                        "type": "number"
                    },
                    "discount_amount": {
                        "type": "number"
                    },
                    "add_less": {
                        "type": "number"
                    },
                    "total_amount": {
                        "type": "number",
                        "description": "Sum of line totals plus add_less when items[] sent"
                    },
                    "line_items_total": {
                        "type": "number",
                        "description": "Sum of line item total_amount (excludes add_less)"
                    },
                    "items_count": {
                        "type": "integer"
                    },
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PurchaseLineItem"
                        }
                    },
                    "status": {
                        "type": "string",
                        "example": "draft"
                    },
                    "remarks": {
                        "type": "string",
                        "nullable": true
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "product_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Legacy header field; first line product_id when items[] sent"
                    }
                }
            },
            "PurchaseCreateRequest": {
                "type": "object",
                "required": [
                    "date"
                ],
                "properties": {
                    "purchase_number": {
                        "type": "string",
                        "nullable": true,
                        "description": "Auto-generated PO-#### when omitted"
                    },
                    "product_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Legacy single-product header; ignored when items[] sent"
                    },
                    "code": {
                        "type": "string",
                        "nullable": true
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-06-08"
                    },
                    "company_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "contact": {
                        "type": "string",
                        "nullable": true
                    },
                    "amount": {
                        "type": "number",
                        "description": "Required when items[] omitted"
                    },
                    "tax_amount": {
                        "type": "number",
                        "nullable": true
                    },
                    "discount_amount": {
                        "type": "number",
                        "nullable": true
                    },
                    "add_less": {
                        "type": "number",
                        "nullable": true
                    },
                    "total_amount": {
                        "type": "number",
                        "description": "Required when items[] omitted; computed from lines when items[] sent"
                    },
                    "status": {
                        "type": "string",
                        "nullable": true
                    },
                    "remarks": {
                        "type": "string",
                        "nullable": true
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PurchaseLineItem"
                        },
                        "description": "When sent, header totals are computed from line items"
                    }
                }
            },
            "PurchaseReturnLineItem": {
                "type": "object",
                "required": [
                    "item_name"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "purchase_item_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Optional link to original purchase line"
                    },
                    "product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "product_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "item_name": {
                        "type": "string",
                        "example": "RO Membrane"
                    },
                    "name": {
                        "type": "string",
                        "description": "Alias for item_name"
                    },
                    "hsn_code": {
                        "type": "string",
                        "nullable": true
                    },
                    "qty": {
                        "type": "integer",
                        "minimum": 1,
                        "example": 1
                    },
                    "unit_price": {
                        "type": "number",
                        "example": 500
                    },
                    "rate": {
                        "type": "number",
                        "description": "Alias for unit_price"
                    },
                    "discount": {
                        "type": "number",
                        "example": 0
                    },
                    "amount": {
                        "type": "number"
                    },
                    "gst_percent": {
                        "type": "number",
                        "nullable": true
                    },
                    "tax_amount": {
                        "type": "number"
                    },
                    "total_amount": {
                        "type": "number"
                    },
                    "serial_number": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "PurchaseReturn": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "return_number": {
                        "type": "string",
                        "example": "PR-0002"
                    },
                    "invoice_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "code": {
                        "type": "string",
                        "nullable": true
                    },
                    "date": {
                        "type": "string",
                        "example": "08-06-2026"
                    },
                    "company_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "contact": {
                        "type": "string",
                        "nullable": true
                    },
                    "purchase_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Optional link to source purchase"
                    },
                    "purchase_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "reason": {
                        "type": "string",
                        "nullable": true
                    },
                    "amount": {
                        "type": "number"
                    },
                    "tax_amount": {
                        "type": "number"
                    },
                    "discount_amount": {
                        "type": "number"
                    },
                    "add_less": {
                        "type": "number"
                    },
                    "total_amount": {
                        "type": "number"
                    },
                    "line_items_total": {
                        "type": "number"
                    },
                    "items_count": {
                        "type": "integer"
                    },
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PurchaseReturnLineItem"
                        }
                    },
                    "status": {
                        "type": "string",
                        "example": "pending"
                    },
                    "remarks": {
                        "type": "string",
                        "nullable": true
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "product_id": {
                        "type": "integer",
                        "nullable": true
                    }
                }
            },
            "PurchaseReturnCreateRequest": {
                "type": "object",
                "required": [
                    "date"
                ],
                "properties": {
                    "purchase_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Optional link to source purchase"
                    },
                    "product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "return_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "invoice_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "code": {
                        "type": "string",
                        "nullable": true
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-06-08"
                    },
                    "company_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "contact": {
                        "type": "string",
                        "nullable": true
                    },
                    "reason": {
                        "type": "string",
                        "nullable": true
                    },
                    "amount": {
                        "type": "number",
                        "description": "Required when items[] omitted"
                    },
                    "tax_amount": {
                        "type": "number",
                        "nullable": true
                    },
                    "discount_amount": {
                        "type": "number",
                        "nullable": true
                    },
                    "add_less": {
                        "type": "number",
                        "nullable": true
                    },
                    "total_amount": {
                        "type": "number",
                        "nullable": true
                    },
                    "status": {
                        "type": "string",
                        "nullable": true
                    },
                    "remarks": {
                        "type": "string",
                        "nullable": true
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PurchaseReturnLineItem"
                        }
                    }
                }
            },
            "SalesReturnLineItem": {
                "type": "object",
                "required": [
                    "item_name"
                ],
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "tax_invoice_item_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Optional link to original tax invoice line"
                    },
                    "product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "product_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "item_name": {
                        "type": "string",
                        "example": "RO Membrane"
                    },
                    "name": {
                        "type": "string",
                        "description": "Alias for item_name"
                    },
                    "hsn_code": {
                        "type": "string",
                        "nullable": true
                    },
                    "qty": {
                        "type": "integer",
                        "minimum": 1,
                        "example": 1
                    },
                    "quantity": {
                        "type": "integer",
                        "description": "Alias for qty"
                    },
                    "unit_price": {
                        "type": "number",
                        "example": 500
                    },
                    "rate": {
                        "type": "number",
                        "description": "Alias for unit_price"
                    },
                    "discount": {
                        "type": "number",
                        "example": 0
                    },
                    "amount": {
                        "type": "number"
                    },
                    "gst_percent": {
                        "type": "number",
                        "nullable": true
                    },
                    "gst": {
                        "type": "number",
                        "description": "Alias for gst_percent"
                    },
                    "tax_amount": {
                        "type": "number"
                    },
                    "total_amount": {
                        "type": "number"
                    },
                    "serial_number": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "SalesReturn": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "return_number": {
                        "type": "string",
                        "example": "SR-0001"
                    },
                    "transaction_number": {
                        "type": "string",
                        "description": "Alias for return_number (transition/transaction no)"
                    },
                    "tax_invoice_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "invoice_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "code": {
                        "type": "string",
                        "nullable": true
                    },
                    "company_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "contact": {
                        "type": "string",
                        "nullable": true,
                        "description": "10-digit Indian mobile"
                    },
                    "gst_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "invoice_date": {
                        "type": "string",
                        "nullable": true,
                        "example": "08-06-2026"
                    },
                    "date": {
                        "type": "string",
                        "example": "08-06-2026",
                        "description": "Change date (ch_date)"
                    },
                    "ch_date": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias for date"
                    },
                    "amount": {
                        "type": "number"
                    },
                    "tax_amount": {
                        "type": "number"
                    },
                    "discount_amount": {
                        "type": "number"
                    },
                    "total_amount": {
                        "type": "number"
                    },
                    "line_items_total": {
                        "type": "number"
                    },
                    "items_count": {
                        "type": "integer"
                    },
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SalesReturnLineItem"
                        }
                    },
                    "bill_type": {
                        "type": "string",
                        "nullable": true
                    },
                    "status": {
                        "type": "string",
                        "example": "pending"
                    },
                    "reason": {
                        "type": "string",
                        "nullable": true
                    },
                    "remarks": {
                        "type": "string",
                        "nullable": true
                    },
                    "remark": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias for remarks"
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "tax_invoice": {
                        "type": "object",
                        "nullable": true,
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "invoice_number": {
                                "type": "string"
                            },
                            "date": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "SalesReturnCreateRequest": {
                "type": "object",
                "required": [
                    "tax_invoice_id",
                    "date"
                ],
                "properties": {
                    "tax_invoice_id": {
                        "type": "integer",
                        "description": "Source tax invoice id (or send invoice_id / invoice_number)"
                    },
                    "invoice_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Alias for tax_invoice_id"
                    },
                    "invoice_number": {
                        "type": "string",
                        "nullable": true,
                        "description": "Lookup tax invoice when tax_invoice_id omitted"
                    },
                    "product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "return_number": {
                        "type": "string",
                        "nullable": true,
                        "description": "Auto SR-#### when omitted"
                    },
                    "transition_number": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias for return_number"
                    },
                    "transaction_number": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias for return_number"
                    },
                    "code": {
                        "type": "string",
                        "nullable": true
                    },
                    "company_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-06-08",
                        "description": "Change date (ch_date)"
                    },
                    "ch_date": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "invoice_date": {
                        "type": "string",
                        "format": "date",
                        "nullable": true,
                        "description": "Original invoice date (inv_date)"
                    },
                    "inv_date": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "contact": {
                        "type": "string",
                        "nullable": true
                    },
                    "gst_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "gst": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias for gst_number"
                    },
                    "reason": {
                        "type": "string",
                        "nullable": true
                    },
                    "amount": {
                        "type": "number",
                        "description": "Required when items[] omitted"
                    },
                    "tax_amount": {
                        "type": "number",
                        "nullable": true
                    },
                    "discount_amount": {
                        "type": "number",
                        "nullable": true
                    },
                    "total_amount": {
                        "type": "number",
                        "nullable": true
                    },
                    "bill_type": {
                        "type": "string",
                        "nullable": true
                    },
                    "status": {
                        "type": "string",
                        "nullable": true
                    },
                    "remarks": {
                        "type": "string",
                        "nullable": true
                    },
                    "remark": {
                        "type": "string",
                        "nullable": true
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SalesReturnLineItem"
                        },
                        "description": "When sent, header totals are computed from line items"
                    }
                }
            },
            "PaymentEntryCreateRequest": {
                "type": "object",
                "required": [
                    "date",
                    "amount",
                    "payment_method"
                ],
                "properties": {
                    "payment_number": {
                        "type": "string",
                        "nullable": true,
                        "description": "Omit to auto-generate TRN-####"
                    },
                    "reference_type": {
                        "type": "string",
                        "enum": [
                            "tax_invoice",
                            "purchase"
                        ],
                        "nullable": true
                    },
                    "reference_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Tax invoice id or purchase id when reference_type set"
                    },
                    "paid_to": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Alias for account_master_id (payee account from account masters)"
                    },
                    "account_master_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "company_name": {
                        "type": "string",
                        "nullable": true,
                        "description": "Free-form payee when no account master selected"
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-06-09"
                    },
                    "amount": {
                        "type": "number",
                        "minimum": 0
                    },
                    "payment_method": {
                        "type": "string",
                        "example": "cash"
                    },
                    "cheque_ref_no": {
                        "type": "string",
                        "nullable": true
                    },
                    "narration": {
                        "type": "string",
                        "nullable": true,
                        "description": "Stored as remarks"
                    },
                    "remarks": {
                        "type": "string",
                        "nullable": true
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Admin only; franchise users get this from login"
                    }
                }
            },
            "PaymentEntry": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "payment_number": {
                        "type": "string",
                        "example": "TRN-0001"
                    },
                    "reference_type": {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                            "tax_invoice",
                            "purchase"
                        ]
                    },
                    "reference_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "account_master_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "paid_to": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Same as account_master_id on read"
                    },
                    "product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "company_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "date": {
                        "type": "string",
                        "format": "date"
                    },
                    "amount": {
                        "type": "number"
                    },
                    "payment_method": {
                        "type": "string"
                    },
                    "cheque_ref_no": {
                        "type": "string",
                        "nullable": true
                    },
                    "remarks": {
                        "type": "string",
                        "nullable": true
                    },
                    "narration": {
                        "type": "string",
                        "nullable": true,
                        "description": "Same as remarks on read"
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "created_by": {
                        "type": "integer",
                        "nullable": true
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "franchise": {
                        "$ref": "#/components/schemas/FranchiseNameEmbed"
                    },
                    "account_master": {
                        "$ref": "#/components/schemas/AccountMasterEmbed"
                    }
                }
            },
            "ReceiptEntryCreateRequest": {
                "type": "object",
                "required": [
                    "date",
                    "amount",
                    "payment_method"
                ],
                "properties": {
                    "receipt_number": {
                        "type": "string",
                        "nullable": true,
                        "description": "Omit to auto-generate RE-####"
                    },
                    "reference_type": {
                        "type": "string",
                        "enum": [
                            "tax_invoice",
                            "purchase"
                        ],
                        "nullable": true
                    },
                    "reference_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "received_from": {
                        "type": "string",
                        "nullable": true,
                        "description": "Account master id (numeric) or company/party name"
                    },
                    "party_account_master_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "company_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "bank_master_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "account_master_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Deposit ledger account when not using bank_master_id"
                    },
                    "receipt_ac": {
                        "type": "string",
                        "nullable": true
                    },
                    "cash_bank_account": {
                        "type": "string",
                        "nullable": true,
                        "example": "BANK:3"
                    },
                    "receipt_account_key": {
                        "type": "string",
                        "nullable": true
                    },
                    "receipt_account": {
                        "type": "string",
                        "nullable": true
                    },
                    "product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "example": "2026-06-09"
                    },
                    "amount": {
                        "type": "number",
                        "minimum": 0
                    },
                    "payment_method": {
                        "type": "string",
                        "example": "cash"
                    },
                    "cheque_ref_no": {
                        "type": "string",
                        "nullable": true
                    },
                    "narration": {
                        "type": "string",
                        "nullable": true
                    },
                    "remarks": {
                        "type": "string",
                        "nullable": true
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    }
                }
            },
            "ReceiptEntry": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "receipt_number": {
                        "type": "string",
                        "example": "RE-0001"
                    },
                    "reference_type": {
                        "type": "string",
                        "nullable": true,
                        "enum": [
                            "tax_invoice",
                            "purchase"
                        ]
                    },
                    "reference_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "receipt_ac": {
                        "type": "string",
                        "nullable": true,
                        "description": "Resolved deposit account label"
                    },
                    "receipt_account": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias of receipt_ac on read"
                    },
                    "bank_master_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "account_master_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "received_from": {
                        "type": "integer",
                        "nullable": true,
                        "description": "Party account master id on read"
                    },
                    "party_account_master_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "company_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "date": {
                        "type": "string",
                        "format": "date"
                    },
                    "amount": {
                        "type": "number"
                    },
                    "payment_method": {
                        "type": "string"
                    },
                    "cheque_ref_no": {
                        "type": "string",
                        "nullable": true
                    },
                    "narration": {
                        "type": "string",
                        "nullable": true
                    },
                    "remarks": {
                        "type": "string",
                        "nullable": true
                    },
                    "franchise_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "created_by": {
                        "type": "integer",
                        "nullable": true
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "bank_master": {
                        "$ref": "#/components/schemas/BankMasterEmbed"
                    },
                    "account_master": {
                        "$ref": "#/components/schemas/AccountMasterEmbed"
                    },
                    "party_account_master": {
                        "$ref": "#/components/schemas/AccountMasterEmbed"
                    },
                    "franchise": {
                        "$ref": "#/components/schemas/FranchiseNameEmbed"
                    }
                }
            },
            "RentalSubscriptionCreateRequest": {
                "type": "object",
                "properties": {
                    "customer_id": {
                        "type": "integer",
                        "description": "customers.id from GET /api/getAllcustomers, or account_masters.id from GET /api/account-masters (auto-resolved). Prefer account_master_id when using the account master picker."
                    },
                    "account_master_id": {
                        "type": "integer",
                        "nullable": true,
                        "description": "From GET /api/account-masters \u2014 preferred when the UI uses the account master customer picker"
                    },
                    "customer_name": {
                        "type": "string",
                        "description": "Required with mobile if customer_id omitted"
                    },
                    "mobile_number": {
                        "type": "string",
                        "description": "10-digit mobile; aliases: mobile, phone_number"
                    },
                    "plan_selected": {
                        "type": "string",
                        "enum": [
                            "basic",
                            "monthly",
                            "premium",
                            "yearly",
                            "commercial"
                        ],
                        "description": "Plan tier; or send rental_plan_id from form-options"
                    },
                    "plan_type": {
                        "type": "string",
                        "enum": [
                            "basic",
                            "monthly",
                            "premium",
                            "yearly",
                            "commercial"
                        ]
                    },
                    "rental_plan_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "amount": {
                        "type": "number",
                        "minimum": 0,
                        "description": "Stored as monthly_rent"
                    },
                    "machine_name": {
                        "type": "string",
                        "description": "Matches rental product name from form-options machines[]"
                    },
                    "rental_product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "start_date": {
                        "type": "string",
                        "format": "date"
                    },
                    "next_billing_date": {
                        "type": "string",
                        "format": "date",
                        "description": "Stored as next_date"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "pending_kyc",
                            "active",
                            "paused",
                            "cancelled"
                        ],
                        "default": "pending_kyc"
                    },
                    "franchise_id": {
                        "type": "integer",
                        "description": "Required for admin create"
                    }
                }
            },
            "RentalSubscription": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "subscription_no": {
                        "type": "string"
                    },
                    "subscription_id": {
                        "type": "string",
                        "description": "Alias of subscription_no"
                    },
                    "customer_id": {
                        "type": "integer"
                    },
                    "customer_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "mobile_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "plan_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "plan_type": {
                        "type": "string",
                        "nullable": true
                    },
                    "plan_selected": {
                        "type": "string",
                        "nullable": true
                    },
                    "rental_plan_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "amount": {
                        "type": "number"
                    },
                    "monthly_rent": {
                        "type": "number"
                    },
                    "machine_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "rental_product_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "start_date": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "next_date": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "next_billing_date": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "pending_kyc",
                            "active",
                            "paused",
                            "cancelled"
                        ]
                    },
                    "status_label": {
                        "type": "string",
                        "example": "PENDING KYC"
                    },
                    "customer": {
                        "type": "object",
                        "nullable": true
                    },
                    "machine": {
                        "type": "object",
                        "nullable": true
                    },
                    "plan": {
                        "type": "object",
                        "nullable": true
                    }
                }
            },
            "RentalSubscriptionFormOptions": {
                "type": "object",
                "properties": {
                    "plan_type_options": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "value": {
                                    "type": "string"
                                },
                                "label": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "status_options": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "value": {
                                    "type": "string"
                                },
                                "label": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "machines": {
                        "type": "array",
                        "description": "Existing rental products for machine_name dropdown",
                        "items": {
                            "type": "object",
                            "properties": {
                                "rental_product_id": {
                                    "type": "integer"
                                },
                                "machine_name": {
                                    "type": "string"
                                },
                                "product_name": {
                                    "type": "string"
                                },
                                "serial_number": {
                                    "type": "string",
                                    "nullable": true
                                }
                            }
                        }
                    },
                    "rental_plans": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        }
                    }
                }
            },
            "InstallationPickupCreateRequest": {
                "type": "object",
                "required": [
                    "task_type",
                    "task_date"
                ],
                "properties": {
                    "task_type": {
                        "type": "string",
                        "enum": [
                            "installation",
                            "pickup"
                        ],
                        "description": "Aliases: type, pick_up"
                    },
                    "task_date": {
                        "type": "string",
                        "format": "date",
                        "description": "Schedule date; alias: schedule_date"
                    },
                    "schedule_date": {
                        "type": "string",
                        "format": "date"
                    },
                    "customer_id": {
                        "type": "integer",
                        "description": "customers.id from search"
                    },
                    "account_master_id": {
                        "type": "integer",
                        "description": "From GET /api/account-masters search"
                    },
                    "technician_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "area_master_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "area_name": {
                        "type": "string",
                        "nullable": true,
                        "description": "Auto-filled from customer when omitted"
                    },
                    "location": {
                        "type": "string",
                        "nullable": true,
                        "description": "Alias for area_name"
                    },
                    "area": {
                        "type": "string",
                        "nullable": true
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "pending",
                            "scheduled",
                            "completed"
                        ],
                        "default": "pending"
                    },
                    "franchise_id": {
                        "type": "integer",
                        "description": "Admin only"
                    }
                }
            },
            "InstallationPickupTask": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "task_no": {
                        "type": "string",
                        "example": "INS-001"
                    },
                    "task_id": {
                        "type": "string"
                    },
                    "task_type": {
                        "type": "string",
                        "enum": [
                            "installation",
                            "pickup"
                        ]
                    },
                    "type_label": {
                        "type": "string"
                    },
                    "task_date": {
                        "type": "string",
                        "format": "date"
                    },
                    "schedule_date": {
                        "type": "string",
                        "format": "date"
                    },
                    "customer_id": {
                        "type": "integer"
                    },
                    "customer_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "mobile_number": {
                        "type": "string",
                        "nullable": true
                    },
                    "area_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "area": {
                        "type": "string",
                        "nullable": true
                    },
                    "location": {
                        "type": "string",
                        "nullable": true
                    },
                    "area_master_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "technician_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "technician_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "pending",
                            "scheduled",
                            "completed"
                        ]
                    },
                    "status_label": {
                        "type": "string"
                    },
                    "customer": {
                        "type": "object",
                        "nullable": true
                    },
                    "technician": {
                        "type": "object",
                        "nullable": true
                    },
                    "area_master": {
                        "type": "object",
                        "nullable": true
                    }
                }
            },
            "InstallationPickupFormOptions": {
                "type": "object",
                "properties": {
                    "task_type_options": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        }
                    },
                    "status_options": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        }
                    },
                    "technicians": {
                        "type": "array",
                        "description": "Filter with technician_search query param",
                        "items": {
                            "type": "object"
                        }
                    },
                    "areas": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        }
                    },
                    "customer_search": {
                        "type": "object"
                    },
                    "customer_area_prefill": {
                        "type": "object",
                        "nullable": true,
                        "description": "Present when customer_id or account_master_id passed to form-options"
                    }
                }
            },
            "BillOfSupplyItem": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "voucher_id": {
                        "type": "string"
                    },
                    "customer_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "account_master_id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "customer_name": {
                        "type": "string",
                        "nullable": true
                    },
                    "type": {
                        "type": "string"
                    },
                    "amount": {
                        "type": "number"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "paid",
                            "pending",
                            "overdue"
                        ],
                        "description": "Stored as pending when overdue; overdue is derived from pending + date < today"
                    },
                    "date": {
                        "type": "string",
                        "format": "date"
                    },
                    "is_overdue": {
                        "type": "boolean",
                        "description": "Derived: pending and date < today"
                    },
                    "account_master": {
                        "type": "object",
                        "nullable": true
                    }
                }
            },
            "BillOfSupplySummary": {
                "type": "object",
                "properties": {
                    "total_billed": {
                        "type": "number"
                    },
                    "pending": {
                        "type": "number"
                    },
                    "overdue": {
                        "type": "number",
                        "description": "Sum of pending vouchers with date < today"
                    },
                    "collected": {
                        "type": "number"
                    },
                    "counts": {
                        "type": "object",
                        "properties": {
                            "total": {
                                "type": "integer"
                            },
                            "pending": {
                                "type": "integer"
                            },
                            "paid": {
                                "type": "integer"
                            },
                            "overdue": {
                                "type": "integer"
                            }
                        }
                    },
                    "filters": {
                        "type": "object"
                    }
                }
            },
            "ProfileUpdateRequest": {
                "type": "object",
                "properties": {
                    "first_name": {
                        "type": "string"
                    },
                    "last_name": {
                        "type": "string"
                    },
                    "phone_number": {
                        "type": "string"
                    },
                    "formatted_address": {
                        "type": "string"
                    },
                    "latitude": {
                        "type": "number"
                    },
                    "longitude": {
                        "type": "number"
                    },
                    "accuracy_m": {
                        "type": "number"
                    },
                    "captured_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "password": {
                        "type": "string",
                        "minLength": 6
                    },
                    "current_password": {
                        "type": "string",
                        "description": "Required when changing password"
                    }
                }
            },
            "RefreshTokenRequest": {
                "type": "object",
                "required": [
                    "refresh_token"
                ],
                "properties": {
                    "refresh_token": {
                        "type": "string"
                    }
                }
            }
        }
    },
    "security": [
        {
            "bearerAuth": []
        }
    ]
}