This commit is contained in:
2026-04-06 02:32:47 +03:00
parent 5f3d208158
commit 24a44481a0
152 changed files with 85913 additions and 44338 deletions
+121 -106
View File
@@ -1,17 +1,21 @@
# Garage Management System — Feature Implementation Checklist
> **Generated**: March 27, 2026
> **Reference**: Postman API Collection (`packages/api/postman/collection.json`)
> **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
- **✅ Full** = Page + Module (Form + Schema) + API Client all exist
- **🔧 API Only** = API Client exists, but no dashboard page/module yet
- **⬜ Not Started** = No implementation found
- **Depends on** = Other resources that must exist before this one (based on foreign keys in Postman collection)
- **✅ 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)
---
@@ -21,37 +25,37 @@ These resources have no foreign key references. They are the foundation.
| # | Resource | Status | Implementation Details |
|---|----------|--------|----------------------|
| 1 | Auth (Login / Profile / Logout) | ✅ Full | Page: `(auth)/login` · Module: `auth/` · Client: `AuthClient` |
| 2 | Countries | 🔧 API Only | Client: `GeoClient` — used by Customer form |
| 3 | Customer Types | 🔧 API Only | Client: `CustomersClient.listCustomerTypes()` |
| 4 | Referral Sources | 🔧 API Only | Client: `ReferralSourcesClient` |
| 5 | Payment Terms | 🔧 API Only | Client: `PaymentTermsClient` |
| 6 | Payment Modes | 🔧 API Only | Client: `PaymentsClient` |
| 7 | Shop Types | ✅ Full | Page: `settings/shop-type` · Module: `settings/shop-type/` · Client: `ShopTypesClient` |
| 8 | Vehicle Body Types | 🔧 API Only | Client: `VehicleAttributesClient` — inline form in Vehicles |
| 9 | Vehicle Fuel Types | 🔧 API Only | Client: `VehicleAttributesClient` — inline form in Vehicles |
| 10 | Vehicle Transmissions | 🔧 API Only | Client: `VehicleAttributesClient` — inline form in Vehicles |
| 11 | Vehicle Colors | 🔧 API Only | Client: `VehicleAttributesClient` — inline form in Vehicles |
| 12 | Document Types | 🔧 API Only | Client: `VehicleDocumentsClient` |
| 13 | Unit Types | 🔧 API Only | Client: `InventoryClient` — inline form in Services |
| 14 | Labels | 🔧 API Only | Client: `LabelsClient` |
| 15 | Insurance Types | 🔧 API Only | Client: `InsuranceTypesClient` |
| 16 | Inspection Categories | 🔧 API Only | Client: `InspectionsClient` — inline form in Inspections |
| 17 | Check Point Labels | 🔧 API Only | Client: `InspectionsClient` |
| 18 | Quick Remarks | 🔧 API Only | Client: `EstimatesClient` |
| 19 | Quick Notes | 🔧 API Only | Client: `EstimatesClient` |
| 20 | Reasons | 🔧 API Only | Client: `LabelsClient` (or standalone) |
| 21 | Task Types | 🔧 API Only | Client: `TasksClient` |
| 22 | Task Sections | 🔧 API Only | Client: `TasksClient` |
| 23 | Invoice Labels | 🔧 API Only | Client: exists in collection |
| 24 | Holiday Years | 🔧 API Only | Client: exists in collection |
| 25 | Taxes | 🔧 API Only | Client: exists in collection |
| 26 | Departments | 🔧 API Only | Client: `DepartmentsClient` — inline form in Services |
| 27 | Labor Rates | 🔧 API Only | Client: `InventoryClient` |
| 28 | Vendors | 🔧 API Only | Client: `VendorsClient` |
| 29 | Shop Calendars | ✅ Full | Page: `productivity/shop-calendars` · Module: `shop-calendars/` · Client: `ShopCalendarsClient` |
| 30 | Shop Timings | ✅ Full | Page: `productivity/shop-timings` · Module: `shop-timings/` · Client: `ShopTimingsClient` |
| 31 | Settings | 🔧 API Only | Client: exists in collection (GET/PUT only) |
| 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) |
---
@@ -61,11 +65,11 @@ These depend only on Level 0 resources.
| # | Resource | Status | Depends On | Implementation Details |
|---|----------|--------|------------|----------------------|
| 32 | States | 🔧 API Only | Countries | Client: `GeoClient` |
| 33 | Inventory Categories | 🔧 API Only | Shop Types | Client: `InventoryClient` — inline form in Services |
| 34 | Vendor Addresses | 🔧 API Only | Vendors, Countries, States | Client: `VendorsClient.createAddress()` |
| 35 | Holidays | 🔧 API Only | Holiday Years | Client: exists in collection |
| 36 | Make and Models | 🔧 API Only | Shop Types, Body Types, Fuel Types, Transmissions | Client: exists in collection |
| 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) |
---
@@ -75,9 +79,9 @@ These depend on Level 0 + Level 1 resources and are used by many higher-level fe
| # | Resource | Status | Depends On | Implementation Details |
|---|----------|--------|------------|----------------------|
| 37 | Customers | ✅ Full | Customer Types, Referral Sources, Payment Terms, Countries, States | Page: `sales/customers` · Module: `customers/` · Client: `CustomersClient` |
| 38 | Vehicles | ✅ Full | Shop Types, Body Types, Fuel Types, Transmissions, Colors | Page: `sales/vehicles` · Module: `vehicles/` · Client: `VehiclesClient` · 5 inline forms |
| 39 | Expense Items | 🔧 API Only | Inventory Categories, Unit Types, Departments | Client: `ExpensesClient` |
| 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 |
---
@@ -87,13 +91,13 @@ These depend on Level 0–2 resources.
| # | Resource | Status | Depends On | Implementation Details |
|---|----------|--------|------------|----------------------|
| 40 | Employees | ✅ Full | Departments, Shop Calendars, Shop Timings | Page: `productivity/employees` · Module: `employees/` · Client: `EmployeesClient` |
| 41 | Parts | ✅ Full | Shop Types, Inventory Categories, Unit Types, Departments, Vendors | Page: `items/parts` · Module: `parts/` · Client: `PartsClient` |
| 42 | Services | ✅ Full | Shop Types, Inventory Categories, Unit Types, Departments | Page: `items/services` · Module: `services/` · Client: `ServicesClient` · 4 inline forms |
| 43 | Vehicle Documents | 🔧 API Only | Vehicles, Document Types | Client: `VehicleDocumentsClient` |
| 44 | Vehicle Mileage | 🔧 API Only | Vehicles | Client: `VehicleDocumentsClient` |
| 45 | Time Sheets | 🔧 API Only | Employees | Client: exists in collection |
| 46 | Invoice Sequences | 🔧 API Only | Departments | Client: exists in collection |
| 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 |
---
@@ -103,11 +107,11 @@ These depend on Level 0–3 resources.
| # | Resource | Status | Depends On | Implementation Details |
|---|----------|--------|------------|----------------------|
| 47 | Service Groups | ✅ Full | Shop Types, Inventory Categories, Unit Types, Departments | Page: `items/service-group` · Module: `service-groups/` · Client: `ServiceGroupsClient` |
| 48 | Service Group Includes | 🔧 API Only | Service Groups | Client: part of Service Group Details |
| 49 | Service Group Services | 🔧 API Only | Service Groups, Services, Labor Rates, Taxes | Client: part of Service Group Details |
| 50 | Service Group Parts | 🔧 API Only | Service Groups, Parts, Taxes | Client: part of Service Group Details |
| 51 | Service Group Pricings | 🔧 API Only | Service Groups, Shop Types, Labor Rates, Fuel Types, Body Types | Client: part of Service Group 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 |
---
@@ -117,10 +121,10 @@ These are core garage workflow features depending on customers, vehicles, employ
| # | Resource | Status | Depends On | Implementation Details |
|---|----------|--------|------------|----------------------|
| 52 | Inspections | ✅ Full | Customers, Vehicles, Departments, Inspection Categories, Employees | Page: N/A (module exists) · Module: `inspections/` · Client: `InspectionsClient` · 1 inline form |
| 53 | Inspection Check Points | 🔧 API Only | Inspections, Check Point Labels | Client: `InspectionsClient` |
| 54 | Estimates | 🔧 API Only | Customers, Vehicles, Departments, Labels | Client: `EstimatesClient` |
| 55 | Job Cards | 🔧 API Only | Customers, Vehicles, Departments, Labels, Employees | Client: `JobCardsClient` (richest API — status workflow, remarks, attachments) |
| 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 |
---
@@ -130,13 +134,13 @@ These depend on Job Cards and other Level 5 resources.
| # | Resource | Status | Depends On | Implementation Details |
|---|----------|--------|------------|----------------------|
| 56 | Appointments | 🔧 API Only | Customers, Vehicles, Departments, Job Cards, Employees, Labels | Client: `AppointmentsClient` |
| 57 | Tasks | 🔧 API Only | Task Types, Task Sections, Job Cards, Employees, Departments | Client: `TasksClient` |
| 58 | Purchase Orders | 🔧 API Only | Job Cards, Vendors, Departments, Labels, Parts | Client: `PurchaseOrdersClient` |
| 59 | Bills | 🔧 API Only | Job Cards, Vendors, Vendor Addresses, Payment Terms, Departments, Labels, Parts | Client: `ExpensesClient` |
| 60 | Expenses | 🔧 API Only | Job Cards, Expense Items, Vendors, Departments, Labels | Client: `ExpensesClient` |
| 61 | Payment Received | 🔧 API Only | Job Cards, Payment Modes, Customers | Client: `PaymentsClient` |
| 62 | Inventory Adjustments | 🔧 API Only | Parts, Job Cards, Invoices, Reasons | Client: exists in collection |
| 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 |
---
@@ -146,56 +150,67 @@ These are the most complex resources with the deepest dependency chains.
| # | Resource | Status | Depends On | Implementation Details |
|---|----------|--------|------------|----------------------|
| 63 | Invoices | 🔧 API Only | Customers, Vehicles, Departments, Invoice Sequences, Labels, Inspection Categories, Parts, Services, Expense Items, Service Groups | Client: exists in collection |
| 64 | Invoice Documents | 🔧 API Only | Invoices, Customers, Vehicles, Document Types | Client: exists in collection |
| 65 | Invoice Notes | 🔧 API Only | Invoices | Client: exists in collection |
| 66 | Credit Notes | 🔧 API Only | Customers, Parts, Services, Expenses, Inspection Categories, Labels | Client: exists in collection |
| 67 | Payment Mades | 🔧 API Only | Vendors, Employees, Bills, Expenses, Payment Modes | Client: exists in collection |
| 68 | Vendor Credits | 🔧 API Only | Vendors, Departments, Parts, Services, Expenses, Labels | Client: exists in collection |
| 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 | ✅ Full | 🔧 API Only | ⬜ Not Started |
|----------|-------|---------|-------------|----------------|
| Level 0 — Standalone | 31 | 4 | 27 | 0 |
| Level 1 — Single Dep | 5 | 0 | 5 | 0 |
| Level 2 — Core Entities | 3 | 2 | 1 | 0 |
| Level 3 — Operational | 7 | 3 | 4 | 0 |
| Level 4 — Composite | 5 | 1 | 4 | 0 |
| Level 5 — Workflows | 4 | 1 | 3 | 0 |
| Level 6 — Financial | 7 | 0 | 7 | 0 |
| Level 7 — Invoicing | 6 | 0 | 6 | 0 |
| **Total** | **68** | **11** | **57** | **0** |
| 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** |
### Pages with Full UI (11 total)
### Resources with Client + UI Module (33 total)
1. Auth (Login)
2. Shop Types (Settings)
3. Shop Calendars (Productivity)
4. Shop Timings (Productivity)
5. Customers (Sales)
6. Vehicles (Sales)
7. Employees (Productivity)
8. Parts (Items)
9. Services (Items)
10. Service Groups (Items)
11. Inspections (Module only — no page route yet)
- 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 Pages — Priority Recommendations
### API Clients Without UI Modules (21 total)
Based on the roadmap (Phase 1 — Garage Operations), these are the highest-priority missing pages:
- 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
1. **Job Cards** — Core garage workflow, API client is the most feature-rich
2. **Estimates** — Pre-job-card workflow
3. **Appointments** — Scheduling system
4. **Inspections Page** — Module exists but no page route
5. **Departments** — Referenced by almost every form
6. **Vendors** — Needed for Parts purchasing and Bills
7. **Invoices** — Phase 2 but API is ready
### 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
---