{"id":204491,"date":"2019-12-19T12:19:55","date_gmt":"2019-12-19T12:19:55","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=204491"},"modified":"2026-07-23T11:51:54","modified_gmt":"2026-07-23T11:51:54","slug":"laravel-ecommerce-multi-tenant-preorder","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/","title":{"rendered":"Laravel eCommerce Multi Tenant SaaS PreOrder"},"content":{"rendered":"\n<p>The <strong>Laravel eCommerce PreOrder SaaS<\/strong> module lets every store on your <a href=\"https:\/\/store.webkul.com\/laravel-ecommerce-multi-tenant-saas.html\" target=\"_blank\" rel=\"noreferrer noopener\">Bagisto SaaS platform<\/a> sell out-of-stock or unreleased products.<\/p>\n\n\n\n<p>It allows customers to reserve these products in advance through a <a href=\"https:\/\/store.webkul.com\/laravel-ecommerce-pre-order.html\" target=\"_blank\" rel=\"noreferrer noopener\">preorder<\/a>, so they never miss items they want.<\/p>\n\n\n\n<p>The admin of each company can offer the preorder as a <strong>Partial Payment<\/strong> or a <strong>Complete Payment<\/strong>. Buyers either pay a percentage now and the rest later, or pay the full amount up front.<\/p>\n\n\n\n<p>Moreover, the <strong>Laravel eCommerce PreOrder SaaS<\/strong> module notifies the customer via email once the preordered product is back in stock.<\/p>\n\n\n\n<p>They can then come back and complete the remaining payment for their order.<\/p>\n\n\n\n<p>Being a true multi-tenant (SaaS) extension, every company gets its own <a href=\"https:\/\/store.webkul.com\/laravel-ecommerce-pre-order.html\" target=\"_blank\" rel=\"noreferrer noopener\">preorder<\/a> attributes and its own preorder records.<\/p>\n\n\n\n<p>All data is kept completely isolated from other tenants on the platform.<\/p>\n\n\n\n<p><strong>Please Note<\/strong>&nbsp;\u2013 To use this extension, you must have the&nbsp;<a href=\"https:\/\/store.webkul.com\/laravel-ecommerce-multi-tenant-saas.html\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Bagisto SaaS (Multi-Tenant) platform<\/strong><\/a>&nbsp;installed first.<\/p>\n\n\n\n<p>This module is built on top of the base <strong>Laravel PreOrder<\/strong> module, which is bundled and installed together with it.<\/p>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Feature List of Laravel eCommerce PreOrder SaaS&nbsp;<\/h3>\n<\/div><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Allows the preorder feature for out-of-stock Simple and Configurable products.<\/li>\n\n\n\n<li>Each tenant (company) can enable or disable preorder independently from its own admin panel.<\/li>\n\n\n\n<li>Two preorder types set by the admin \u2013 Partial Payment and Complete Payment.<\/li>\n\n\n\n<li>Admin can set the preorder percentage that the customer must pay in advance for Partial Payment.<\/li>\n\n\n\n<li>Admin can add a custom preorder message (channel and locale based) shown to customers on the product page.<\/li>\n\n\n\n<li>Per-product settings \u2013 Allow Preorder, Preorder Qty and Product Availability date.<\/li>\n\n\n\n<li>The storefront automatically shows a &#8220;Preorder&#8221; button in place of &#8220;Add To Cart&#8221; when a product is out of stock and preorderable.<\/li>\n\n\n\n<li>Product page shows the amount\/percentage to pay and the expected availability date.<\/li>\n\n\n\n<li>Customers are notified by email automatically when the product comes back in stock (if enabled).<\/li>\n\n\n\n<li>Admin can also manually notify customers from the preorder listing using the &#8220;Notify Customer&#8221; mass action.<\/li>\n\n\n\n<li>Customer can complete the remaining preorder payment from their account order view.<\/li>\n\n\n\n<li>Complete preorder details \u2013 type, status, paid amount, remaining amount, reference order and payment order \u2013 are tracked for admin and customer.<\/li>\n\n\n\n<li>Dedicated &#8220;Preorder&#8221; datagrid in the admin panel with search, filter and export.<\/li>\n\n\n\n<li>ACL controlled \u2013 access to preorder management and the notify-customer action can be restricted by role.<\/li>\n\n\n\n<li>Multi-tenant ready \u2013 preorder attributes are auto-provisioned per company and all preorder data is company-scoped.<\/li>\n<\/ul>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Installation of Laravel eCommerce PreOrder SaaS<\/h3>\n<\/div><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Unzip the extension package and merge the <strong>&#8220;packages&#8221;<\/strong> folder into your project root directory.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Goto composer.json file and add the following lines under <strong>&#8216;psr-4&#8217;<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\">&quot;Webkul\\\\PreOrderSaas\\\\&quot;: &quot;packages\/Webkul\/PreOrderSaas\/src&quot;<\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Run the following commands<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\">composer dump-autoload<\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Goto bootstrap\/providers.php file and add following line under <strong>&#8216;providers&#8217;<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">Webkul\\PreOrderSaas\\Providers\\PreOrderSaasServiceProvider::class<\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Run the following commands to complete the setup<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\">php artisan pre-order-saas:install<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\">php artisan optimize:clear<\/pre>\n\n\n\n<p>The <strong>pre-order-saas:install<\/strong> command runs the base PreOrder and PreOrderSaas migrations, seeds the preorder attributes, publishes the module assets and clears the cache in a single step.<\/p>\n\n\n\n<p>That&#8217;s it, now just execute the project on your specified domain.<\/p>\n\n\n\n<p><strong>Note:&nbsp;&nbsp;<\/strong>This module<strong>&nbsp;<\/strong>is an add-on of the<strong>&nbsp;<a href=\"https:\/\/store.webkul.com\/laravel-ecommerce-multi-tenant-saas.html\" target=\"_blank\" rel=\"noreferrer noopener\">Bagisto SaaS (Multi-Tenant) platform<\/a>.<\/strong>You must install the main platform before using this module.<\/p>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Admin Configuration of Laravel eCommerce PreOrder SaaS<\/h3>\n<\/div><\/div>\n\n\n\n<p>After the successful installation of the module, the admin of each company can navigate to <strong>Configure&gt;&gt;Preorder&gt;&gt;Settings&gt;&gt;General.<\/strong><\/p>\n\n\n\n<p>The admin has an option to enable and disable the Preorder module on the <a href=\"https:\/\/store.webkul.com\/laravel-ecommerce-multi-tenant-saas.html\" target=\"_blank\" rel=\"noreferrer noopener\">Bagisto SaaS platform<\/a>. Once enabled, they can set the following options from the general settings:-<\/p>\n\n\n\n<figure class=\"wp-block-image size-full wp-duotone-unset-1\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/configuresaas.webp\" alt=\"Multi-Tenant PreOrder configuration\" class=\"wp-image-550562\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/configuresaas.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/configuresaas-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/configuresaas-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/configuresaas-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Enable PreOrder<\/strong> \u2013 Turn the preorder feature on or off for the store.<\/li>\n\n\n\n<li><strong>Preorder Type<\/strong> \u2013 Choose between <strong>Partial Payment<\/strong> and <strong>Complete Payment<\/strong> (channel based).<\/li>\n\n\n\n<li><strong>Preorder Percent<\/strong> \u2013 The percentage to be paid in advance (used only when the type is Partial Payment; accepts a value between 0.01 and 99.9).<\/li>\n\n\n\n<li><strong>Message<\/strong> \u2013 A custom message (max 150 characters, channel and locale based) displayed to the customer on the product page.<\/li>\n\n\n\n<li><strong>Enable Automatic Mail<\/strong> \u2013 Automatically send the stock-notification email to customers when the product is back in stock.<\/li>\n<\/ul>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Preorder Type in Laravel eCommerce PreOrder SaaS<\/h3>\n<\/div><\/div>\n\n\n\n<p>The admin can select how the customer pays for a preordered product using the Preorder Type option.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Partial Payment<\/strong><\/h4>\n\n\n\n<p>In Partial Payment, the customer pays only the configured percentage of the product price to reserve it. The remaining amount is paid later, once the product is available in stock.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Now brief explanation with example.<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Product Price<\/strong><\/td><td><strong>Preorder Percent<\/strong><\/td><td><strong>Paid Now (Advance)<\/strong><\/td><td><strong>Remaining Amount<\/strong><\/td><\/tr><tr><td>$100<\/td><td>20%<\/td><td>$20<\/td><td>$80<\/td><\/tr><tr><td>$500<\/td><td>30%<\/td><td>$150<\/td><td>$350<\/td><\/tr><tr><td>$1000<\/td><td>50%<\/td><td>$500<\/td><td>$500<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>The customer pays the advance amount at the time of placing the preorder and the remaining amount when they complete the preorder after the product is back in stock.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Complete Payment<\/strong><\/h4>\n\n\n\n<p>In Complete Payment, the customer pays the full amount up front while placing the preorder.<\/p>\n\n\n\n<p>Nothing remains to be paid later. The order is fulfilled once the product is available in stock.<\/p>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Product Preorder Settings in Laravel eCommerce PreOrder SaaS<\/h3>\n<\/div><\/div>\n\n\n\n<p>When preorder is enabled, three additional attributes become available on the product edit page (for Simple and Configurable products) under the General group:-<\/p>\n\n\n\n<p>These attributes are part of the <a href=\"https:\/\/store.webkul.com\/laravel-ecommerce-pre-order.html\" target=\"_blank\" rel=\"noreferrer noopener\">Laravel eCommerce PreOrder SaaS<\/a> module and are ready to configure.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full wp-duotone-unset-2\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/productedit.webp\" alt=\"Multi-Tenant PreOrder product attributes\" class=\"wp-image-550567\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/productedit.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/productedit-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/productedit-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/productedit-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Allow Preorder<\/strong> \u2013 Enables the preorder option for that particular product.<\/li>\n\n\n\n<li><strong>Preorder Qty<\/strong> \u2013 The maximum quantity a customer is allowed to preorder for the product.<\/li>\n\n\n\n<li><strong>Product Availability<\/strong> \u2013 The date on which the product is expected to be available in stock, shown to customers on the storefront.<\/li>\n<\/ul>\n\n\n\n<p><strong>Note &#8211;<\/strong> These attributes only appear when the preorder module is enabled and the product type is Simple or Configurable.<\/p>\n\n\n\n<p>In the SaaS setup, these attributes are automatically created for each company (tenant) and attached to the General attribute group of every family.<\/p>\n\n\n\n<p>They are ready to use as soon as a store is registered.<\/p>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Front-end view of Laravel eCommerce PreOrder SaaS:-<\/h3>\n<\/div><\/div>\n\n\n\n<p>When a preorderable product is out of stock, the <a href=\"https:\/\/store.webkul.com\/laravel-ecommerce-pre-order.html\" target=\"_blank\" rel=\"noreferrer noopener\">Laravel eCommerce PreOrder SaaS<\/a> storefront replaces the &#8220;Add To Cart&#8221; button with a &#8220;Preorder&#8221; button.<\/p>\n\n\n\n<p>Customers can reserve the product in advance and complete the purchase when it becomes available.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full wp-duotone-unset-3\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/productlist.webp\" alt=\"PreOrder product front view\" class=\"wp-image-550571\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/productlist.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/productlist-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/productlist-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/productlist-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Along with the Preorder button, an information box is shown on the product page which includes:-<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The percentage of the amount to be paid as preorder (for Partial Payment).<\/li>\n\n\n\n<li>The custom preorder message set by the admin.<\/li>\n\n\n\n<li>The expected availability date of the product.<\/li>\n<\/ul>\n\n\n\n<p>The customer can then add the preordered product to the cart and checkout like a normal order.<\/p>\n\n\n\n<p>The quantity a customer can preorder is validated against the &#8220;Preorder Qty&#8221; set for the product. A preorder payment cannot be mixed with other products in the same cart.<\/p>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Stock Notification in Laravel eCommerce PreOrder SaaS<\/h3>\n<\/div><\/div>\n\n\n\n<p>Once the preordered product arrives back in stock, the <a href=\"https:\/\/store.webkul.com\/laravel-ecommerce-pre-order.html\" target=\"_blank\" rel=\"noreferrer noopener\">Laravel eCommerce PreOrder SaaS<\/a> module informs the customer by email so they can return to complete their preorder.<\/p>\n\n\n\n<p>If <strong>Enable Automatic Mail<\/strong> is turned on, the stock-notification email is sent automatically when the product is back in stock.<\/p>\n\n\n\n<p>The admin can also send it manually from the preorder listing using the <strong>Notify Customer<\/strong> mass action.<\/p>\n\n\n\n<p>The email contains a direct link that takes the customer to complete their preorder.<\/p>\n\n\n\n<p>Logged-in customers are taken to the order view, while guest customers are taken to a secure token-based complete-preorder page.<\/p>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Completing the Preorder in Laravel eCommerce PreOrder SaaS<\/h3>\n<\/div><\/div>\n\n\n\n<p>The customer can view and complete their <a href=\"https:\/\/store.webkul.com\/laravel-ecommerce-pre-order.html\" target=\"_blank\" rel=\"noreferrer noopener\">preorder<\/a> from <strong>My Account&gt;&gt;Orders<\/strong>. The order view shows a &#8220;Preorder Information&#8221; section along with the item-wise remaining amount.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full wp-duotone-unset-4\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/orderviewpreorder.webp\" alt=\"customer order view\" class=\"wp-image-550618\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/orderviewpreorder.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/orderviewpreorder-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/orderviewpreorder-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/orderviewpreorder-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>The Preorder Information section displays:-<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Type<\/strong> \u2013 Partial or Complete payment.<\/li>\n\n\n\n<li><strong>Status<\/strong> \u2013 Pending, Processing or Completed.<\/li>\n\n\n\n<li><strong>Payment Order<\/strong> \u2013 The order created for the remaining payment (for a partial preorder).<\/li>\n\n\n\n<li><strong>Reference Order<\/strong> \u2013 The original preorder that a payment order refers to.<\/li>\n\n\n\n<li><strong>Remaining Amount<\/strong> \u2013 The amount still to be paid to complete the preorder.<\/li>\n<\/ul>\n\n\n\n<p>When the product is in stock, a <strong>Complete Preorder<\/strong> button is available so the customer can pay the remaining amount.<\/p>\n\n\n\n<p>If the product is not yet in stock, an <strong>Available soon<\/strong> label is shown instead.<\/p>\n\n\n\n<p>After the remaining amount is paid, the preorder status is marked as Completed and the remaining amount becomes zero.<\/p>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Admin Order View for Laravel eCommerce PreOrder SaaS<\/h3>\n<\/div><\/div>\n\n\n\n<p>On the admin order view, orders that contain preorder items are clearly marked and a preorder summary is shown.<\/p>\n\n\n\n<p>To keep the flow consistent, actions like shipment and refund are restricted for a partial preorder order until the remaining payment has been completed.<\/p>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Manage Preorders in Laravel eCommerce PreOrder SaaS<\/h3>\n<\/div><\/div>\n\n\n\n<p>The admin can manage all preorders from the dedicated <strong>Preorder<\/strong> menu in the admin panel. The listing provides a datagrid with search, filter and export options.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full wp-duotone-unset-5\"><img decoding=\"async\" width=\"1120\" height=\"880\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/adminpreorder.webp\" alt=\"Multi-Tenant PreOrder admin listing\" class=\"wp-image-550600\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/adminpreorder.webp 1120w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/adminpreorder-300x236.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/adminpreorder-250x196.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/adminpreorder-768x603.webp 768w\" sizes=\"(max-width: 1120px) 100vw, 1120px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>The preorder datagrid shows the following columns:-<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Column<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td>Id<\/td><td>The preorder item id.<\/td><\/tr><tr><td>Order Id<\/td><td>The original order in which the preorder was placed.<\/td><\/tr><tr><td>Payment Order Id<\/td><td>The order created for the remaining payment (N\/A if not applicable).<\/td><\/tr><tr><td>Product Name<\/td><td>The name of the preordered product.<\/td><\/tr><tr><td>Customer Name<\/td><td>The name of the customer.<\/td><\/tr><tr><td>Customer Email<\/td><td>The email of the customer.<\/td><\/tr><tr><td>Paid Amount<\/td><td>The amount already paid by the customer.<\/td><\/tr><tr><td>Remaining<\/td><td>The amount still to be paid (0 once completed).<\/td><\/tr><tr><td>Preorder Type<\/td><td>Partial Payment or Complete Payment.<\/td><\/tr><tr><td>Status<\/td><td>Pending, Processing or Completed.<\/td><\/tr><tr><td>Email Sent<\/td><td>Whether the stock-notification email has been sent.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>The admin can filter and search the grid by these columns. Use the <strong>Notify Customer<\/strong> mass action to email selected customers that their preordered products are back in stock.<\/p>\n\n\n\n<p>Access to the preorder listing and the notify-customer action is controlled through ACL, so it can be restricted per role.<\/p>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Multi-Tenant Capabilities of Laravel eCommerce PreOrder SaaS<\/h3>\n<\/div><\/div>\n\n\n\n<p>The <strong>Laravel eCommerce PreOrder SaaS<\/strong> module extends the base preorder feature to work seamlessly across every tenant on your <a href=\"https:\/\/store.webkul.com\/laravel-ecommerce-multi-tenant-saas.html\" target=\"_blank\" rel=\"noreferrer noopener\">Bagisto SaaS platform<\/a>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Automatic attribute provisioning<\/strong> \u2013 When a company is registered (or its configuration is saved), the Allow Preorder, Preorder Qty and Product Availability attributes are automatically created for that company and attached to the General group of each of its attribute families.<\/li>\n\n\n\n<li><strong>Per-tenant configuration<\/strong> \u2013 Every store enables preorder and sets its own preorder type, percentage and message independently.<\/li>\n\n\n\n<li><strong>Company-scoped data<\/strong> \u2013 All preorder records are tagged with the company and every query is automatically scoped to the current tenant, so a store only ever sees its own preorders.<\/li>\n\n\n\n<li><strong>Tenant isolation<\/strong> \u2013 One company can never access another company&#8217;s preorder attributes or preorder data, while the super-admin retains a full, unscoped view across all tenants.<\/li>\n<\/ul>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Support for Laravel eCommerce PreOrder SaaS<\/h3>\n<\/div><\/div>\n\n\n\n<p>That&#8217;s all about the Laravel eCommerce PreOrder SaaS.<\/p>\n\n\n\n<p>If you have any issues please feel free to add a ticket and also let us know your views to make the module better&nbsp;<a href=\"https:\/\/bagisto.uvdesk.com\/en\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/bagisto.uvdesk.com\/en\/<\/a><\/p>\n\n\n\n<p>Thanks for reading the blog.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Laravel eCommerce PreOrder SaaS module lets every store on your Bagisto SaaS platform sell out-of-stock or unreleased products. It allows customers to reserve these products in advance through a preorder, so they never miss items they want. The admin of each company can offer the preorder as a Partial Payment or a Complete Payment. <a href=\"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":262,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8396,8929],"tags":[9907,37,979,222,8581],"class_list":["post-204491","post","type-post","status-publish","format-standard","hentry","category-bagisto","category-e-commerce-bagisto","tag-bagisto-ecommerce-platform","tag-ecommerce-platform","tag-pre-order","tag-saas","tag-saas-e-commerce-platform"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Laravel eCommerce Multi-Tenant PreOrder<\/title>\n<meta name=\"description\" content=\"Laravel eCommerce Multi-Tenant PreOrder allows the customer to pre-order the products which are not yet available at the online store.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Laravel eCommerce Multi-Tenant PreOrder\" \/>\n<meta property=\"og:description\" content=\"Laravel eCommerce Multi-Tenant PreOrder allows the customer to pre-order the products which are not yet available at the online store.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-12-19T12:19:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-23T11:51:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2019\/12\/configuresaas.webp\" \/>\n<meta name=\"author\" content=\"Prachi Chauhan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prachi Chauhan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/\"},\"author\":{\"name\":\"Prachi Chauhan\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/34823aa1ccd482968bfd7d01acfa7599\"},\"headline\":\"Laravel eCommerce Multi Tenant SaaS PreOrder\",\"datePublished\":\"2019-12-19T12:19:55+00:00\",\"dateModified\":\"2026-07-23T11:51:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/\"},\"wordCount\":1756,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2019\/12\/configuresaas.webp\",\"keywords\":[\"Bagisto ecommerce platform\",\"ecommerce platform\",\"Pre Order\",\"saas\",\"saas e-commerce platform\"],\"articleSection\":[\"Bagisto\",\"E commerce\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/\",\"url\":\"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/\",\"name\":\"Laravel eCommerce Multi-Tenant PreOrder\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2019\/12\/configuresaas.webp\",\"datePublished\":\"2019-12-19T12:19:55+00:00\",\"dateModified\":\"2026-07-23T11:51:54+00:00\",\"description\":\"Laravel eCommerce Multi-Tenant PreOrder allows the customer to pre-order the products which are not yet available at the online store.\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/configuresaas.webp\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/configuresaas.webp\",\"width\":1120,\"height\":880},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Laravel eCommerce Multi Tenant SaaS PreOrder\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/34823aa1ccd482968bfd7d01acfa7599\",\"name\":\"Prachi Chauhan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6c4dc4694029a3232f3acda4259960d69057ed94d263c9483622fcf1462c1fc6?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6c4dc4694029a3232f3acda4259960d69057ed94d263c9483622fcf1462c1fc6?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g\",\"caption\":\"Prachi Chauhan\"},\"url\":\"https:\/\/webkul.com\/blog\/author\/prachichauhan-bd628\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Laravel eCommerce Multi-Tenant PreOrder","description":"Laravel eCommerce Multi-Tenant PreOrder allows the customer to pre-order the products which are not yet available at the online store.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/","og_locale":"en_US","og_type":"article","og_title":"Laravel eCommerce Multi-Tenant PreOrder","og_description":"Laravel eCommerce Multi-Tenant PreOrder allows the customer to pre-order the products which are not yet available at the online store.","og_url":"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2019-12-19T12:19:55+00:00","article_modified_time":"2026-07-23T11:51:54+00:00","og_image":[{"url":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2019\/12\/configuresaas.webp","type":"","width":"","height":""}],"author":"Prachi Chauhan","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Prachi Chauhan","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/"},"author":{"name":"Prachi Chauhan","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/34823aa1ccd482968bfd7d01acfa7599"},"headline":"Laravel eCommerce Multi Tenant SaaS PreOrder","datePublished":"2019-12-19T12:19:55+00:00","dateModified":"2026-07-23T11:51:54+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/"},"wordCount":1756,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2019\/12\/configuresaas.webp","keywords":["Bagisto ecommerce platform","ecommerce platform","Pre Order","saas","saas e-commerce platform"],"articleSection":["Bagisto","E commerce"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/","url":"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/","name":"Laravel eCommerce Multi-Tenant PreOrder","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2019\/12\/configuresaas.webp","datePublished":"2019-12-19T12:19:55+00:00","dateModified":"2026-07-23T11:51:54+00:00","description":"Laravel eCommerce Multi-Tenant PreOrder allows the customer to pre-order the products which are not yet available at the online store.","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/configuresaas.webp","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2019\/12\/configuresaas.webp","width":1120,"height":880},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/laravel-ecommerce-multi-tenant-preorder\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Laravel eCommerce Multi Tenant SaaS PreOrder"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/34823aa1ccd482968bfd7d01acfa7599","name":"Prachi Chauhan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6c4dc4694029a3232f3acda4259960d69057ed94d263c9483622fcf1462c1fc6?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6c4dc4694029a3232f3acda4259960d69057ed94d263c9483622fcf1462c1fc6?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g","caption":"Prachi Chauhan"},"url":"https:\/\/webkul.com\/blog\/author\/prachichauhan-bd628\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/204491","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/262"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=204491"}],"version-history":[{"count":18,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/204491\/revisions"}],"predecessor-version":[{"id":550619,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/204491\/revisions\/550619"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=204491"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=204491"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=204491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}