Skip to content

RentalSystem(`Rent, Product Rent`) is a Magento 2 module that enables customers to rent products from your store. This module offers extensive rental management features for both the admin panel and storefront, allowing you to efficiently offer rental services.

Notifications You must be signed in to change notification settings

anatoliidolia/RentalSystem

Repository files navigation

PeachCode_RentalSystem

RentalSystem(Rent, Product Rent) is a Magento 2 module that enables customers to rent products from your store. This module offers extensive rental management features for both the admin panel and storefront, allowing you to efficiently offer rental services.

Features:

1. Rent Any Product

Customers can rent any product available in your store, providing flexibility and expanding the range of services you can offer.

2. Configure Products for Rental

Admins can configure products in the admin panel to be available for rent. This includes:

  1. Setting the rental price
  2. Defining the quantity available for rent
  3. Setting the maximum number of products a customer can add to their rental cart

img.png

3. Configure Discounts

Admins can set up discounts based on the rental duration. For example, a 10% discount can be applied if the rental period exceeds 5 days. These settings are managed from the admin panel.

img_2.png

4. Store Pickup Locations

Configure the stores where customers can pick up their rented products. This adds convenience for customers and helps manage logistics effectively.

img_3.png

5. Administrator Notifications

Admins receive notifications for new rental orders, ensuring they are always informed and can process orders promptly.

img_4.png

6. Rent Cart Limitation

Limiting the quantity of products in the rental cart: img_7.png

7. Rental History

Customers can view their rental history in their account, providing transparency and allowing them to track their rental activities.

Customer Account page: img_5.png

Rental Order Page: img_6.png

Limitations of the Free Version

In the free version of the module, admins cannot view orders directly from the admin panel. This feature is available in the premium version.

TODO:

We are continuously working to improve PeachCode_RentalSystem. Here are some upcoming features and improvements:

1: Admin Panel: 1.1 Enable view for created orders 1.2 Allow editing of order details from the admin panel 1.3 Provide order filtering capabilities in the admin panel

2: User: 2.1 Allow users to view a page with all products available for rent A separate page with all products

3: API: 3.1 Implement the ability not only to view created orders but also to create new ones via API (GraphQL, REST)

4: Customer Data: 4.1 Display the rental cart via Private Content

5: Rent Checkout (Front): 5.1 Need to add payment capabilities directly on the checkout page

Installation

To install the PeachCode_RentalSystem module, follow these steps:

  1. composer require peachcode/rentalsystem:dev-main

2) Download the module package. Extract the package into the app/code/PeachCode/RentalSystem directory.

Run the following commands:

bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy
bin/magento cache:flush

Log in to the admin panel and navigate to Stores -> Configuration -> PeachCode -> RentalSystem to configure the module settings.

img_1.png

Configuration


After installing the module, you can configure it by navigating to the configuration section in the admin panel. Here, you can set rental prices, configure discounts, and set up store pickup locations.

How module works?

Product page:

On the product page, you will find the option to rent the product.

img_8.png

Choosing Start Date and End Date

You need to select the Start Date and End Date for your rental. img_9.png

After successfully adding the product to your cart, you will see a success message.
The link to the rent cart can be found in the page header. img_10.png

Rent Cart View

On the rent/cart/view/ page, you can fill in the following information:

  1. Stores
  2. Payment method
  3. Customer information

img_11.png

Cart Information

On this page, you will find all the cart information.
You can also remove a product from the cart. img_12.png

Placing the Order

After placing the order, you will be redirected to the order confirmation page. img_13.png

Email Order Confirmation

You will receive an email confirmation of your order. img_14.png

Customer Account:

Customers can view their rental history in their account, providing transparency and allowing them to track their rental activities.

Customer Account page: img_5.png

Rental Order Page: img_6.png

graphql:

Query Example:

query {
  customerOrders(customerId: 1) {
    order_id
    customer_id
    customer_email
    total_items
    html_address
    total_summ
    email_sent
    created_at
    updated_at
  }
}

How to add item to cart:

  1. Query
mutation {
  addRentProductToCart(input: {
    productId: 1
    customerId: 1
    endDate: "2024-07-28 00:00:00" 
    startDate: "2024-07-27 00:00:00"
  }) {
  cartId
  endDate
  startDate
  }
}
  1. Request
{
  "data": {
    "addRentProductToCart": {
      "cartId": 1,
      "endDate": "2024-07-28 00:00:00",
      "startDate": "2024-07-27 00:00:00"
    }
  }
}

How to place order?

  1. Query
mutation {
  createRentOrderFromCart(input: {
    cartId: 2
    customerId: 1
    htmlAddress: "second data"
  }) {
    customerId
    orderId
  }
}
  1. Request
{
  "data": {
    "createRentOrderFromCart": {
      "customerId": 1,
      "orderId": 1
    }
  }
}

Contact

If you have any questions or need further assistance, please feel free to contact me through my account or email. I would be happy to assist you.

Contact Details

Anatolii Dolia
https://anatoliidolia.github.io/

Magento 2.4.6

Magento 2.4.7

About

RentalSystem(`Rent, Product Rent`) is a Magento 2 module that enables customers to rent products from your store. This module offers extensive rental management features for both the admin panel and storefront, allowing you to efficiently offer rental services.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages