Laundry Management

An end-to-end Odoo solution for laundry businesses to automate order tracking, washing workflows, and customer management

Skills You'll Gain:
Odoo Module Development Workflow Automation Custom Model Design Security Rules
38 Tasks

Project Tasks

1. Set Up Module Structure

Before implementing any functionality, we need to create the basic structure of our laundry module.

Implementation Steps:
  1. Create a new module named Laundry Management
  2. Set up the basic module structure with __init__.py, __manifest__.py
  3. Create models directory with models name.
  4. Create views directory with views name.

2. Define Manifest File

You need to provide basic description of the module, assert authorship, and choose a distribution license.

Implementation Steps:
  1. Define dictionary with the following info:
    • Module name is Laundry Management.
    • With the following summary " Complete Laundry Service Management".
    • Write your name as author name.
    • Define module version.
    • Choose the appropriate License
    • Declare that the module is featured as an app in the apps list.
    • Declare that the module is available for installation.

3. Add an icon

Adding icon to represent the app.

Implementation Steps:
  1. Add icon to your laundry app.

4. Add a top menu item

Display a new entry in the top-left drop-down menu.

Implementation Steps:
  1. Add main menu item with Laundry Management label.

5. Add security groups

Your customer needs to apply two main security groups.User and Manager

Implementation Steps:
  1. Create User and Manager security groups as the following
    • All users in User group also have the permissions of the base.group_user group.
    • All users in Manager group also have the permissions of the base.user_root and base.user_admin groups.
  2. Create a record rule as the following
    • Manger should have full access to all records, including those created by themselves and other users.
    • User should only have permission to view their own orders.

6. Add customer feature.

Your customer needs to manage his laundry customers.

Implementation Steps:
  1. Add Configuration menu under the main Laundry Management menu.
  2. Add menu item called Customers under the Configuration menu like the following.
    • This menu item should be linked to the action that opens the res.partner model action or action_partner_customer_form action, allowing users to manage laundry customers.

8. Add products feature.

Your customer needs to manage products that represent various types of laundry items (e.g., dresses, shirts, etc.).

Implementation Steps:
  1. Add menu item called Products under the Configuration menu like the following.
    • This menu item should be linked to the action that opens action with Product Variants action name or product_normal_action_sell ID, allowing users to manage products.

9. Add work type feature.

Your customer needs to manage work types associated with laundry orders. This will allow users to specify the type of work required for each product or dress, along with the associated costs and the assigned user responsible for the work.

Implementation Steps:
  1. Implement a model for Work Types with the following fields:
    • Name: A text field for the name of the work type (e.g., "Stain Removal", "Ironing").
    • Charge: A numeric field to indicate the cost associated with each work type.
    • Assigned User: Relational field to select only one staff member responsible for completing this work type. has relation with res.users model.
Constraints:
  1. All fields are required
  2. Charge field should be greater than 0

10. Add work type list view.

Your customer needs to view all the created work types as a list

Implementation Steps:
  1. Add menu item called Work Types under the Configuration menu
  2. When user clicks on Work Types menu item, list view displayed with the following columns
    • Name
    • Assigned Person
    • Charge