# Garage Management System โ€” Feature Implementation Checklist > **Generated**: April 3, 2026 > **Dependency Order Reference**: Postman API Collection (`packages/api/postman/collection.json`) > **Status Source of Truth**: Implemented API clients in `packages/api/src/clients` and implemented dashboard modules in `apps/dashboard/modules` > **Ordered by**: Dependency level (no dependencies โ†’ most complex relations) --- ## How to Read This Checklist - **โœ… Client + UI Module** = matching API client exists and a matching dashboard module exists - **๐Ÿ”ง API Client Only** = matching API client exists, but no dedicated dashboard module was found - **๐Ÿงฉ UI Module Only** = matching dashboard module exists, but no matching API client was found - **โฌœ Not Started** = no matching client or module was found - **Module** = a dedicated top-level form, inline form, or resource subform inside `apps/dashboard/modules` - **Lookup usage only** (for example an async select inside another form) does **not** count as a module - **Depends on** = other resources that must exist before this one (based on foreign keys in the Postman collection) --- ## Level 0 โ€” Zero Dependencies (Standalone Reference Data) These resources have no foreign key references. They are the foundation. | # | Resource | Status | Implementation Details | |---|----------|--------|----------------------| | 1 | Auth (Login / Profile / Logout) | โœ… Client + UI Module | Client: `AuthClient` ยท Module: `auth/login-form.tsx` | | 2 | Countries | ๐Ÿ”ง API Client Only | Client: `GeoClient.countries()` ยท Module: none | | 3 | Customer Types | ๐Ÿ”ง API Client Only | Client: `CustomersClient.listCustomerTypes()` ยท Module: none | | 4 | Referral Sources | ๐Ÿ”ง API Client Only | Client: `ReferralSourcesClient` ยท Module: none | | 5 | Payment Terms | ๐Ÿ”ง API Client Only | Client: `PaymentTermsClient` ยท Module: none | | 6 | Payment Modes | ๐Ÿ”ง API Client Only | Client: `PaymentsClient.listModes()` ยท Module: none | | 7 | Shop Types | โœ… Client + UI Module | Client: `ShopTypesClient` ยท Module: `settings/shop-type/shop-type-form.tsx` | | 8 | Vehicle Body Types | โœ… Client + UI Module | Client: `VehicleAttributesClient.listBodyTypes()` ยท Module: `vehicles/inline-forms/body-type-inline-form.tsx` | | 9 | Vehicle Fuel Types | โœ… Client + UI Module | Client: `VehicleAttributesClient.listFuelTypes()` ยท Module: `vehicles/inline-forms/fuel-type-inline-form.tsx` | | 10 | Vehicle Transmissions | โœ… Client + UI Module | Client: `VehicleAttributesClient.listTransmissions()` ยท Module: `vehicles/inline-forms/transmission-inline-form.tsx` | | 11 | Vehicle Colors | โœ… Client + UI Module | Client: `VehicleAttributesClient.listColors()` ยท Module: `vehicles/inline-forms/color-inline-form.tsx` | | 12 | Document Types | โœ… Client + UI Module | Client: `VehicleDocumentsClient.listDocumentTypes()` ยท Module: `vehicles/inline-forms/document-type-inline-form.tsx` | | 13 | Unit Types | โœ… Client + UI Module | Client: `InventoryClient.listUnitTypes()` ยท Module: `services/inline-forms/unit-type-inline-form.tsx` | | 14 | Labels | ๐Ÿ”ง API Client Only | Client: `LabelsClient` ยท Module: none | | 15 | Insurance Types | ๐Ÿ”ง API Client Only | Client: `InsuranceTypesClient` ยท Module: none | | 16 | Inspection Categories | โœ… Client + UI Module | Client: `InspectionsClient.listCategories()` ยท Module: `inspections/inline-forms/inspection-category-inline-form.tsx` | | 17 | Check Point Labels | ๐Ÿ”ง API Client Only | Client: `InspectionsClient.listCheckpointLabels()` ยท Module: none | | 18 | Quick Remarks | ๐Ÿ”ง API Client Only | Client: `EstimatesClient.listQuickRemarks()` ยท Module: none | | 19 | Quick Notes | ๐Ÿ”ง API Client Only | Client: `EstimatesClient.listQuickNotes()` ยท Module: none | | 20 | Reasons | โฌœ Not Started | Client: none found ยท Module: none | | 21 | Task Types | ๐Ÿ”ง API Client Only | Client: `TasksClient.listTypes()` ยท Module: none | | 22 | Task Sections | ๐Ÿ”ง API Client Only | Client: `TasksClient.listSections()` ยท Module: none | | 23 | Invoice Labels | ๐Ÿ”ง API Client Only | Client: `InvoicesClient.listLabels()` ยท Module: none | | 24 | Holiday Years | โœ… Client + UI Module | Client: `HolidayYearsClient` ยท Module: `settings/holiday-year/holiday-year-form.tsx` | | 25 | Taxes | โœ… Client + UI Module | Client: `TaxesClient` ยท Module: `settings/tax-rates/tax-form.tsx` | | 26 | Departments | โœ… Client + UI Module | Client: `DepartmentsClient` ยท Module: `services/inline-forms/department-inline-form.tsx` | | 27 | Labor Rates | ๐Ÿ”ง API Client Only | Client: `InventoryClient.listLaborRates()` ยท Module: none | | 28 | Vendors | โœ… Client + UI Module | Client: `VendorsClient` ยท Module: `vendors/vendor-form.tsx` | | 29 | Shop Calendars | โœ… Client + UI Module | Client: `ShopCalendarsClient` ยท Module: `shop-calendars/shop-calendar-form.tsx` | | 30 | Shop Timings | โœ… Client + UI Module | Client: `ShopTimingsClient` ยท Module: `shop-timings/shop-timing-form.tsx` | | 31 | Settings | โฌœ Not Started | Client: none in `packages/api/src/clients` ยท Module: none (tracked setting resources are listed separately) | --- ## Level 1 โ€” Single-Level Dependencies These depend only on Level 0 resources. | # | Resource | Status | Depends On | Implementation Details | |---|----------|--------|------------|----------------------| | 32 | States | ๐Ÿ”ง API Client Only | Countries | Client: `GeoClient.states()` ยท Module: none | | 33 | Inventory Categories | โœ… Client + UI Module | Shop Types | Client: `InventoryClient.listCategories()` ยท Module: `services/inline-forms/inventory-category-inline-form.tsx` | | 34 | Vendor Addresses | ๐Ÿ”ง API Client Only | Vendors, Countries, States | Client: `VendorsClient.createAddress()` / `getAddress()` ยท Module: none | | 35 | Holidays | โฌœ Not Started | Holiday Years | Client: none dedicated ยท Module: none (`HolidayYearForm` covers years only) | | 36 | Make and Models | โฌœ Not Started | Shop Types, Body Types, Fuel Types, Transmissions | Client: none dedicated ยท Module: none (vehicle form uses plain make/model fields) | --- ## Level 2 โ€” Core Business Entities These depend on Level 0 + Level 1 resources and are used by many higher-level features. | # | Resource | Status | Depends On | Implementation Details | |---|----------|--------|------------|----------------------| | 37 | Customers | โœ… Client + UI Module | Customer Types, Referral Sources, Payment Terms, Countries, States | Client: `CustomersClient` ยท Module: `customers/customer-form.tsx` | | 38 | Vehicles | โœ… Client + UI Module | Shop Types, Body Types, Fuel Types, Transmissions, Colors | Client: `VehiclesClient` ยท Module: `vehicles/vehicle-form.tsx` | | 39 | Expense Items | ๐Ÿ”ง API Client Only | Inventory Categories, Unit Types, Departments | Client: `ExpensesClient.listItems()` / `createItem()` ยท Module: none | --- ## Level 3 โ€” Operational Resources These depend on Level 0โ€“2 resources. | # | Resource | Status | Depends On | Implementation Details | |---|----------|--------|------------|----------------------| | 40 | Employees | โœ… Client + UI Module | Departments, Shop Calendars, Shop Timings | Client: `EmployeesClient` ยท Module: `employees/employee-form.tsx` | | 41 | Parts | โœ… Client + UI Module | Shop Types, Inventory Categories, Unit Types, Departments, Vendors | Client: `PartsClient` ยท Module: `parts/part-form.tsx` | | 42 | Services | โœ… Client + UI Module | Shop Types, Inventory Categories, Unit Types, Departments | Client: `ServicesClient` ยท Module: `services/service-form.tsx` | | 43 | Vehicle Documents | โœ… Client + UI Module | Vehicles, Document Types | Client: `VehicleDocumentsClient.listDocuments()` / `createDocument()` ยท Module: `vehicles/vehicle-document-form.tsx` | | 44 | Vehicle Mileage | โœ… Client + UI Module | Vehicles | Client: `VehicleDocumentsClient.listMileage()` / `createMileage()` ยท Module: `vehicles/mileage-form.tsx` | | 45 | Time Sheets | โฌœ Not Started | Employees | Client: none found ยท Module: none | | 46 | Invoice Sequences | โฌœ Not Started | Departments | Client: none found ยท Module: none | --- ## Level 4 โ€” Composite Service Resources These depend on Level 0โ€“3 resources. | # | Resource | Status | Depends On | Implementation Details | |---|----------|--------|------------|----------------------| | 47 | Service Groups | โœ… Client + UI Module | Shop Types, Inventory Categories, Unit Types, Departments | Client: `ServiceGroupsClient` ยท Module: `service-groups/service-group-form.tsx` | | 48 | Service Group Includes | โฌœ Not Started | Service Groups | Client: none dedicated in `ServiceGroupsClient` ยท Module: none | | 49 | Service Group Services | โฌœ Not Started | Service Groups, Services, Labor Rates, Taxes | Client: none dedicated in `ServiceGroupsClient` ยท Module: none | | 50 | Service Group Parts | โฌœ Not Started | Service Groups, Parts, Taxes | Client: none dedicated in `ServiceGroupsClient` ยท Module: none | | 51 | Service Group Pricings | โฌœ Not Started | Service Groups, Shop Types, Labor Rates, Fuel Types, Body Types | Client: none dedicated in `ServiceGroupsClient` ยท Module: none | --- ## Level 5 โ€” Workflow & Operations These are core garage workflow features depending on customers, vehicles, employees, etc. | # | Resource | Status | Depends On | Implementation Details | |---|----------|--------|------------|----------------------| | 52 | Inspections | โœ… Client + UI Module | Customers, Vehicles, Departments, Inspection Categories, Employees | Client: `InspectionsClient` ยท Module: `inspections/inspection-form.tsx` | | 53 | Inspection Check Points | ๐Ÿ”ง API Client Only | Inspections, Check Point Labels | Client: `InspectionsClient.listCheckpoints()` / `createCheckpoint()` ยท Module: none | | 54 | Estimates | โœ… Client + UI Module | Customers, Vehicles, Departments, Labels | Client: `EstimatesClient` ยท Module: `estimates/estimate-form.tsx` | | 55 | Job Cards | โœ… Client + UI Module | Customers, Vehicles, Departments, Labels, Employees | Client: `JobCardsClient` ยท Module: `job-cards/job-card-form.tsx` + remark/recommendation subforms | --- ## Level 6 โ€” Financial & Scheduling These depend on Job Cards and other Level 5 resources. | # | Resource | Status | Depends On | Implementation Details | |---|----------|--------|------------|----------------------| | 56 | Appointments | โœ… Client + UI Module | Customers, Vehicles, Departments, Job Cards, Employees, Labels | Client: `AppointmentsClient` ยท Module: `appointments/appointment-form.tsx` | | 57 | Tasks | ๐Ÿ”ง API Client Only | Task Types, Task Sections, Job Cards, Employees, Departments | Client: `TasksClient` ยท Module: none | | 58 | Purchase Orders | ๐Ÿ”ง API Client Only | Job Cards, Vendors, Departments, Labels, Parts | Client: `PurchaseOrdersClient` ยท Module: none | | 59 | Bills | ๐Ÿ”ง API Client Only | Job Cards, Vendors, Vendor Addresses, Payment Terms, Departments, Labels, Parts | Client: `ExpensesClient.listBills()` / `createBill()` ยท Module: none | | 60 | Expenses | โœ… Client + UI Module | Job Cards, Expense Items, Vendors, Departments, Labels | Client: `ExpensesClient.listExpenses()` / `createExpense()` ยท Module: `expenses/expense-form.tsx` | | 61 | Payment Received | โœ… Client + UI Module | Job Cards, Payment Modes, Customers | Client: `PaymentsClient.listReceived()` / `createReceived()` ยท Module: `payment-received/payment-received-form.tsx` | | 62 | Inventory Adjustments | โฌœ Not Started | Parts, Job Cards, Invoices, Reasons | Client: none found ยท Module: none | --- ## Level 7 โ€” Invoicing & Credit System (Most Complex) These are the most complex resources with the deepest dependency chains. | # | Resource | Status | Depends On | Implementation Details | |---|----------|--------|------------|----------------------| | 63 | Invoices | โœ… Client + UI Module | Customers, Vehicles, Departments, Invoice Sequences, Labels, Inspection Categories, Parts, Services, Expense Items, Service Groups | Client: `InvoicesClient` ยท Module: `invoices/invoice-form.tsx` | | 64 | Invoice Documents | โœ… Client + UI Module | Invoices, Customers, Vehicles, Document Types | Client: `InvoicesClient.listDocuments()` / `createDocument()` ยท Module: `invoices/invoice-document-form.tsx` | | 65 | Invoice Notes | โœ… Client + UI Module | Invoices | Client: `InvoicesClient.listNotes()` / `createNote()` ยท Module: `invoices/invoice-note-form.tsx` | | 66 | Credit Notes | โฌœ Not Started | Customers, Parts, Services, Expenses, Inspection Categories, Labels | Client: none found ยท Module: none | | 67 | Payment Mades | โฌœ Not Started | Vendors, Employees, Bills, Expenses, Payment Modes | Client: none found ยท Module: none | | 68 | Vendor Credits | โฌœ Not Started | Vendors, Departments, Parts, Services, Expenses, Labels | Client: none found ยท Module: none | --- ## Summary ### Status Snapshot | Status | Count | Percentage | |--------|-------|------------| | โœ… Client + UI Module | 33 | 48.5% | | ๐Ÿ”ง API Client Only | 21 | 30.9% | | ๐Ÿงฉ UI Module Only | 0 | 0.0% | | โฌœ Not Started | 14 | 20.6% | No UI-only resources were found under the current `packages/api/src/clients` and `apps/dashboard/modules` source-of-truth rules. ### Implementation Progress | Category | Total | โœ… Client + UI Module | ๐Ÿ”ง API Client Only | ๐Ÿงฉ UI Module Only | โฌœ Not Started | |----------|-------|-----------------------|--------------------|------------------|----------------| | Level 0 โ€” Standalone | 31 | 15 | 14 | 0 | 2 | | Level 1 โ€” Single Dep | 5 | 1 | 2 | 0 | 2 | | Level 2 โ€” Core Entities | 3 | 2 | 1 | 0 | 0 | | Level 3 โ€” Operational | 7 | 5 | 0 | 0 | 2 | | Level 4 โ€” Composite | 5 | 1 | 0 | 0 | 4 | | Level 5 โ€” Workflows | 4 | 3 | 1 | 0 | 0 | | Level 6 โ€” Financial | 7 | 3 | 3 | 0 | 1 | | Level 7 โ€” Invoicing | 6 | 3 | 0 | 0 | 3 | | **Total** | **68** | **33** | **21** | **0** | **14** | ### Resources with Client + UI Module (33 total) - Top-level modules (20): Auth, Shop Types, Holiday Years, Taxes, Vendors, Shop Calendars, Shop Timings, Customers, Vehicles, Employees, Parts, Services, Service Groups, Inspections, Estimates, Job Cards, Appointments, Expenses, Payment Received, Invoices - Inline modules (9): Vehicle Body Types, Vehicle Fuel Types, Vehicle Transmissions, Vehicle Colors, Document Types, Unit Types, Inspection Categories, Departments, Inventory Categories - Detail subforms (4): Vehicle Documents, Vehicle Mileage, Invoice Documents, Invoice Notes ### API Clients Without UI Modules (21 total) - Master data and reference resources: Countries, Customer Types, Referral Sources, Payment Terms, Payment Modes, Labels, Insurance Types, Check Point Labels, Quick Remarks, Quick Notes, Task Types, Task Sections, Invoice Labels, Labor Rates, States, Vendor Addresses - Workflow and transactional resources: Expense Items, Inspection Check Points, Tasks, Purchase Orders, Bills ### Not Started (14 total) - Reasons, Settings, Holidays, Make and Models, Time Sheets, Invoice Sequences, Service Group Includes, Service Group Services, Service Group Parts, Service Group Pricings, Inventory Adjustments, Credit Notes, Payment Mades, Vendor Credits ### API Clients Without UI Modules โ€” Priority Recommendations Based on current implementation depth and operational value, the highest-leverage missing UI modules are: 1. **Purchase Orders** โ€” existing client, central purchasing workflow 2. **Bills** โ€” existing client, complements Vendors and Expenses 3. **Tasks** โ€” existing client, operational workflow layer is in place but no module exists 4. **Expense Items** โ€” existing client, currently blocks full expense master-data management 5. **Payment Modes / Payment Terms** โ€” existing clients, important finance reference data 6. **Referral Sources / Customer Types** โ€” existing clients, useful master-data UI for sales flows --- ## Dependency Graph (Simplified) ``` Level 0 (Foundation) โ”œโ”€โ”€ Auth, Countries, Shop Types, Customer Types, Referral Sources โ”œโ”€โ”€ Payment Terms, Payment Modes, Document Types, Unit Types, Labels โ”œโ”€โ”€ Vehicle Attributes (Body, Fuel, Transmission, Colors) โ”œโ”€โ”€ Inspection Categories, Check Point Labels, Insurance Types โ”œโ”€โ”€ Quick Remarks/Notes, Reasons, Task Types/Sections โ”œโ”€โ”€ Holiday Years, Taxes, Departments, Labor Rates โ”œโ”€โ”€ Vendors, Shop Calendars, Shop Timings, Invoice Labels, Settings โ”‚ Level 1 (Single Dependency) โ”œโ”€โ”€ States โ†’ Countries โ”œโ”€โ”€ Inventory Categories โ†’ Shop Types โ”œโ”€โ”€ Vendor Addresses โ†’ Vendors + Countries + States โ”œโ”€โ”€ Holidays โ†’ Holiday Years โ”œโ”€โ”€ Make and Models โ†’ Shop Types + Vehicle Attributes โ”‚ Level 2 (Core Entities) โ”œโ”€โ”€ Customers โ†’ Customer Types + Referral Sources + Payment Terms + Geo โ”œโ”€โ”€ Vehicles โ†’ Shop Types + Vehicle Attributes โ”œโ”€โ”€ Expense Items โ†’ Inventory Categories + Unit Types + Departments โ”‚ Level 3 (Operational) โ”œโ”€โ”€ Employees โ†’ Departments + Shop Calendars + Shop Timings โ”œโ”€โ”€ Parts โ†’ Shop Types + Inventory Categories + Unit Types + Departments + Vendors โ”œโ”€โ”€ Services โ†’ Shop Types + Inventory Categories + Unit Types + Departments โ”œโ”€โ”€ Vehicle Documents โ†’ Vehicles + Document Types โ”œโ”€โ”€ Vehicle Mileage โ†’ Vehicles โ”œโ”€โ”€ Time Sheets โ†’ Employees โ”œโ”€โ”€ Invoice Sequences โ†’ Departments โ”‚ Level 4 (Composite) โ”œโ”€โ”€ Service Groups โ†’ Shop Types + Inv. Categories + Unit Types + Departments โ”œโ”€โ”€ SG Includes/Services/Parts/Pricings โ†’ Service Groups + ... โ”‚ Level 5 (Workflows) โ”œโ”€โ”€ Inspections โ†’ Customers + Vehicles + Departments + Insp. Categories + Employees โ”œโ”€โ”€ Inspection Check Points โ†’ Inspections + Check Point Labels โ”œโ”€โ”€ Estimates โ†’ Customers + Vehicles + Departments + Labels โ”œโ”€โ”€ Job Cards โ†’ Customers + Vehicles + Departments + Labels + Employees โ”‚ Level 6 (Financial) โ”œโ”€โ”€ Appointments โ†’ Customers + Vehicles + Departments + Job Cards + Employees โ”œโ”€โ”€ Tasks โ†’ Task Types + Task Sections + Job Cards + Employees + Departments โ”œโ”€โ”€ Purchase Orders โ†’ Job Cards + Vendors + Departments + Labels + Parts โ”œโ”€โ”€ Bills โ†’ Job Cards + Vendors + Payment Terms + Departments + Labels + Parts โ”œโ”€โ”€ Expenses โ†’ Job Cards + Expense Items + Vendors + Departments + Labels โ”œโ”€โ”€ Payment Received โ†’ Job Cards + Payment Modes + Customers โ”œโ”€โ”€ Inventory Adjustments โ†’ Parts + Job Cards + Invoices + Reasons โ”‚ Level 7 (Invoicing โ€” Most Complex) โ”œโ”€โ”€ Invoices โ†’ Customers + Vehicles + Departments + Inv. Sequences + Labels + Parts + Services + Expenses + Service Groups โ”œโ”€โ”€ Invoice Documents โ†’ Invoices + Customers + Vehicles + Document Types โ”œโ”€โ”€ Invoice Notes โ†’ Invoices โ”œโ”€โ”€ Credit Notes โ†’ Customers + Parts + Services + Expenses + Insp. Categories + Labels โ”œโ”€โ”€ Payment Mades โ†’ Vendors + Employees + Bills + Expenses + Payment Modes โ””โ”€โ”€ Vendor Credits โ†’ Vendors + Departments + Parts + Services + Expenses + Labels ```