## Objective:
Design a comprehensive yet user-friendly car workshop management tool for small-sized workshops with 2 to 6 employees. The tool aims to enhance workshop efficiency and customer satisfaction.
## Key Features:
1. **Manage Bookings:** Facilitate seamless creation, modification, and tracking of bookings.
2. **Vehicle History Tracking:** Maintain a comprehensive service history for each vehicle, regardless of ownership changes.
3. **Workshop Capacity Planning:** Optimize resource utilization by managing the availability and scheduling of technicians.
4. **Automated Notifications:** Enable automated notifications for customers, including booking reminders, service due notices, and pickup alerts.
5. **Invoicing:** Simplify the invoicing process with features that create, modify, and track invoices. The system will be ready for future integration with Xero.
## System Details
### System Actors
- **System Admin:** Creates and manages workshops.
- **Workshop Owner/Admin:** Manages workshop operations.
- **Workshop Staff**:
- Technicians: perform jobs, put notes, change job statuses
- Accountants (optional): access to financial / statistical data
- **Workshop Customer:** Vehicle owner or person booking the service.
### Manage Bookings
The booking process captures customer and vehicle details, including name, contact information, plate number, model, and make. One customer can have multiple vehicles, but each vehicle is tied to one customer at a time.
<details>
<summary>Components</summary>
1. **[Create Booking](https://hackmd.io/fxoI4HkFTQO7kMLoUGQgeg)**
2. **[View Booking](https://hackmd.io/oUyiu7A8RSmu1wTKah8dTg)**
3. **Edit Booking**
4. **Cancel booking**
</details>
### Workshop Capacity Planning
Workshop admins manage the availability of technicians, including working hours, leaves, and removals. The system plans workshop capacity based on technician availability. The system tracks jobs in progress or planned for the future.
<details>
<summary>Components</summary>
1. Manage Technicians
2. Schedule Management
3. Capacity Planning
</details>
### Vehicle History and Ownership
The system handles changes in vehicle ownership while keeping the comprehensive service history tied to the vehicle, not the owner. It provides an option to revert erroneous ownership changes.
<details>
<summary>Components</summary>
1. **Record New Service History:** Whenever a vehicle is serviced, its service history is updated with the new service details.
2. **View Vehicle History:** A comprehensive view of all the past services performed on the vehicle.
3. **Manage Ownership Change:** Update ownership information while keeping the service history intact.
</details>
### Notifications
The system supports basic notifications like booking reminders, service due alerts, and vehicle pick-up notices via multiple channels such as email, SMS, or a customer-facing app.
<details>
<summary>Components</summary>
- Booking Reminders
- Service Due Notices
- Vehicle Pickup Alerts
</details>
### Invoicing
Initial invoicing includes essential details like customer and vehicle details, job specifics, price, and date. The system is designed for future integration with Xero.
<details>
<summary>Components</summary>
- Create Invoice
- Edit Invoice
- View Invoice
</details>
### Reporting
While detailed reporting and analytics are planned for later stages, the system is built with a robust data collection and storage design to support these features when developed. They provide valuable insights that can help in decision-making, evaluating performance, and planning future actions.
<details>
<summary>Components</summary>
1. **Data Collection:** Collect and record data from all key operations such as bookings, vehicle history, technician scheduling, and invoicing. This will be the raw material for the reports.
2. **Report Generation:** Functionality to compile the collected data into different types of reports. This might include daily operations reports, monthly financial reports, technician performance reports, etc.
3. **Report Customization:** Allow users to create custom reports based on their specific needs. This might include selecting the data fields to be included, specifying the time period, applying filters, etc.
4. **Report Access Control:** Implement access controls to ensure that reports are accessible only to authorized personnel. This is important for maintaining the confidentiality of the data.
5. **Report Export/Print:** Provide the ability to export reports to common formats (like CSV, Excel) for further analysis, or print them directly from the system.
</details>
## Features Mind Map
