Laravel eCommerce pre-order module comes with very attractive features through which the admin can easily allow their customers/guest users to pre-order the upcoming and out-of-stock products.
The customers can pay in advance either a complete or partial amount of the product’s price, once the product will be in stock they get their order delivered.
Note – Laravel eCommerce Pre Order module is now supported with Bagisto version 2.4.8.
Features of Laravel eCommerce Pre Order
- Buyer can pre-order only out of stock products.
- Works with Simple and Configurable products.
- Set a custom message to display on the Pre-order product page.
- Admin can set Pre-order status and availability date.
- Using this module customer can pay full or partial payment.
- Customers can receive an email notification when a product is in-stock.
- Guest users can also use the pre-order feature and place the orders.
- The Preorder button is also shown on the category and search listing pages, not only on the product page.
- The admin can limit how many units of a product a customer is allowed to pre-order.
- The shipping cost is charged only once, even when the payment is split into two orders.
- Multi-Lingual support/All language working including RTL.
- The code is fully open & you can customize it according to your need.
Installation of Laravel eCommerce Pre Order
After purchasing the extension the customers will get a zip folder.
Unzip the respective extension zip and then merge “packages” and “public” folder into project root directory.
Next, Run these commands below to complete the setup in the bagisto root directory.
- Goto bootstrap/providers.php file now add the following line under ‘providers’
Webkul\PreOrder\Providers\PreOrderServiceProvider::class
- Goto composer.json file inside the Bagisto root directory now add the following line under ‘psr-4’
"Webkul\\PreOrder\\": "packages/Webkul/PreOrder/src"
- Regenerate the autoloader so the new package is discovered
composer dump-autoload
- Now run the installer. It runs the module migrations, adds the pre-order product attributes, publishes the assets and clears the cache.
php artisan pre-order:install
php artisan optimize:clear
Once the commands have executed successfully, enable the module from Configuration > Preorder > Settings > General and you will see the Preorders icon on the left-hand side in the menu bar as shown in the below image.

Laravel eCommerce Pre Order Configuration
For Preorder configuration, the admin will navigate to Configuration>Preorder>Settings>General.

General Settings
At the top, you’ll find the settings to select the channel and the locale for your store. The Preorder Type, Preorder Percent and Enable Automatic Mail settings are saved per channel, and the Message is saved per channel and locale.

Now let’s go through with the Configuration Settings one by one:

Enable PreOrder
The admin can enable or disable the module. When it is disabled, the Preorders menu, the pre-order product attributes and the storefront Preorder button are all hidden.
Preorder Type
From the drop-down select how the customers will make the payment for pre-order – Complete Payment or Partial Payment.
Preorder Percent
(Only available for partial payment)
Set the percentage amount of the product’s price. For e.g If the price of the product is $100 and Preorder Percent is 30 then the customer will need to pay $30 only for pre-order. The value must be between 0.01 and 99.9.
Message
The admin has an option to display a small message (up to 150 characters) on the pre-order product page.
Enable Automatic Mail
When enabled by the admin, the in-stock notification email is sent to the pre-order customers automatically as soon as the product is back in stock, so the admin does not have to notify them from the Preorders grid. When it is disabled, the admin sends the same email manually using the Notify Customer mass action.
Pre Order – Admin Management
On the admin dashboard, click the Preorders icon which is there on the left-hand side to check on the features available in the backend for admin.

Now the admin can easily check all the pre-orders received with the Id, Order Id, Payment Order Id, Product Name, Customer Name and Customer Email.
They also get to see the Paid Amount, Remaining, Preorder Type, Status and Email Sent information. The Order Id and the Payment Order Id are clickable and open the respective sales order.
Every pre-order moves through the Pending ➜ Processing ➜ Completed statuses, and turns Canceled if the order is canceled.
Notify Customers Manually
When the product will be in stock the admin can also easily notify the customer by sending them an email.
By selecting the pre-orders from the below list and choosing the Notify Customer mass action, the admin can easily notify the customers about the product availability.
The admin can also send the email to many customers at once by filtering the grid and selecting the required rows. The Notify Customer action is available only to admin roles that hold the pre-order Notify Customer permission.

Please Note – If the invoice is not generated for the pre-order, the customer will not get the In-Stock notification.
Therefore, the admin must create the invoice after receiving the pre-order payment.
This is the sample of Product In-Stock Email Notification as shown in the below image.

Pre Order – Product Management
The admin will go to Catalog>Products>Add Product.
While adding/editing any product the admin will find the below attributes in the General section.

- Allow Preorder – From the toggle button the admin will enable or disable the pre-order for that product.
- Preorder Qty –The admin can set a purchase limit for pre-order products, defining the maximum quantity a customer can pre-order. Leave it empty for no limit.
- Product Availability – Select the date of Product Availability. It is displayed on the product page as long as the date is in the future.
Please Note – These three attributes are visible only while the module is enabled from the configuration.
Pre Order – Product Page
At the pre-order product page the customer will also see the various information about the pre-order :
- Partial Payment Info
- Preorder Message
- Product Availability Date
- Pre Order button
The Preorder button replaces the Add To Cart button only when the product is out of stock and Allow Preorder is enabled for it. In-stock products keep the normal Add To Cart button.

Pre-Order For Configurable Product
In the configurable product, the admin will set Allow Preorder as “Yes” on the configurable (parent) product. Its associated variants can then be pre-ordered whenever they are out of stock, as shown below.

Customer Placing Pre-Order
While the customer placing pre-order there would be two cases are as follows :
Case 1 – Complete Payment
The customer can make the full payment including the shipping cost then place the order. Once the product comes back in stock, the customer will receive an email notification. As nothing is left to pay, no second order is required.
Case 2 – Partial Payment
In partial payment, the customer needs to pay some percentage of the product’s price with the shipping cost.
Once the product comes back in stock, the customer receives an email notification for making the remaining payment.

As per the above image, the customer will click on the Preorder button to add the product to the cart.
The pre-order percentage shows that the customer has to pay 40% of the product price (Partial Payment).
Shopping Cart

Adding the product to the shopping cart, now the customer only needs to pay the $120 ($119.99 rounded to $120) which is 40% of the product price ($299.99).
Please Note – If a Preorder Qty limit is set for the product, a larger quantity cannot be added to the cart.
Pre-Order Shipping Price
In the case of Pre-Order, the customer will pay the shipping price only one time. It is charged with the first order, and the order that pays the remaining amount is restricted to the free shipping method.

Once the customer’s order is placed, the customer can also check their order information from the My Accounts>Orders section.

Also, if you want to display an order success message with their order ID on the checkout page to your customers, then you can check the Laravel Ecommerce Order Checkout AI Message.
Registered Customer – Completing Pre-Order
Product In-Stock Email Notification
An email notification will be sent to the customer to complete the preorder, Once the product is in-stock.

After clicking the link in the email, the customer order page will open. Here, the customer will see the ‘Complete Preorder‘ button as shown in the below image.

Pay Remaining Amount
The remaining amount will be added to the shopping cart when the customer clicks on the Complete Preorder button.
Note** The customer does not need to pay the shipping price again.
Note** The remaining pre-order payment is checked out on its own, so no other product can be added to that cart.

Remaining Amount Paid
Once the remaining amount is paid for the pre-order product, customer can also see the second-order information from My Account>Orders. Both the orders are linked to each other, so the customer can move from the pre-order to its payment order and back.

If the item is out of Stock and an invoice is generated then “Available Soon” button will be visible as shown below:-

Guest Users – Pre Order Management
Now, Guest customers can also pre-order the product from the website even without logging into the store.

Guest User – Order Placed
Now the guest users will select the payment, and shipping method to place the order. The order ID will be created for guest users as well.
The guest pre-orders are listed in the admin Preorders grid along with the email address used at checkout.

Pre-Order List of Guest user
The admin can check the pre-order details of the guest users as well, by clicking on the Order ID.

Email notification of products for Guest user
Whenever the product is back in stock, the guest user will get an email notification to complete the preorder by paying the remaining amount.

Completing Pre-Order for Guest User
As the guest user has no account page, the link in the email is a secure one-time preorder link that adds the remaining amount to the cart directly and takes the guest user to the checkout.
Guest users can also check the remaining amount to pay for completing the preorder when added to their shopping cart page.

After successfully filling in the order information, the guest user needs to select the payment method and then place the order.
That’s all for Laravel eCommerce Pre-Order, still, if you have any issues feel free to add a ticket and let us know your views to make the module better https://bagisto.uvdesk.com/en/
Current Product Version - 2.4.8
Supported Framework Version - Bagisto v2.4.8
Be the first to comment.