Back to Top

Laravel eCommerce Daily Deals

Bagisto Daily Deal Extension – Laravel eCommerce Daily Deals

The Bagisto Daily Deal extension adds time-bound product discounts to your storefront. Merchants run live deals, schedule upcoming promotions, and show countdown timers and cart savings — all managed from the admin panel. This guide walks through installing, configuring, and using the module on Bagisto v2.4.11.

Bagisto is an open-source Laravel 12 eCommerce platform. Every feature ships as a self-contained package, and the Daily Deal module follows that same convention.

What the Bagisto Daily Deal Extension Does

The module introduces a configurable status switch that controls whether deal features are active across the shop. When it is enabled, merchants assign a percentage or fixed-amount discount to individual products, set quantity limits, and display countdown timers on product pages.

The module also adds admin analytics for views, purchases, and revenue, plus a CSV import for creating deals in bulk.

Features of the Bagisto Daily Deal Extension

  • Channel-based status switch — a master on/off control for all deal surfaces.
  • Live deals — products inside an active deal window display discounted prices.
  • Upcoming deals — products with a future deal-from date appear in the Upcoming carousel with a Notify Me option.
  • Discount types — percentage and fixed-amount pricing, with optional quantity caps.
  • Admin grid and product panel — view, edit, and mass-update deals from the admin.
  • CSV import — bulk-import deals by SKU, discount type, value, and date range.
  • Analytics — total views, total purchases, and revenue over time for each deal.
  • Customer carousels — Daily Deals Product, Upcoming Deals, Top Daily Deals sales, and Top viewed deals.

Those four carousels are seeded as theme sections, so you rearrange or remove them from Appearance like any other storefront block. Each one is backed by its own shop route, which means a carousel only queries the data it actually renders.

Deals work with simple, virtual, booking, and downloadable product types.

Installing the Bagisto Daily Deal Extension

  • Unzip the respective extension zip and then merge “packages” and “public” folders into project root directory.
  • Go to composer.json file and add following line under ‘psr-4’

# Add PSR-4 autoload mapping
"Webkul\\DailyDeal\\": "packages/Webkul/DailyDeal/src"
  • Run composer dump-autoload to autoload the files
# Refresh composer autoload
composer dump-autoload
  • Go to bootstrap/providers.php file and add following line under ‘providers’
use Webkul\DailyDeal\Providers\DailyDealServiceProvider;

inside return [...]

DailyDealServiceProvider::class,
  • Run the module installation command to setup the Daily Deals module
# Install the extension (migrate, seed, publish assets)
php artisan daily-deals:install
  • Schedule the command to automatic trigger and expire the product on deal ending
# Lifecycle (auto-scheduled every minute)
php artisan daily-deals:process-lifecycle

The install command runs the migrations, seeds the theme sections, and publishes the assets in one pass. The lifecycle command is registered on the scheduler and runs every minute, so deals open and close on their configured timestamps without any manual intervention. Make sure the Laravel scheduler itself is running via cron, otherwise deal windows will never advance.

Configuring the Bagisto Daily Deal Extension

The sole configuration field is the Status switch under Configure → Daily Deals → Daily Deals Setting → Status. When the switch is off, every shop deal route returns 404, the admin menu is hidden, and pricing overrides have no effect.

Per-deal discount values and date windows are set on the product edit screen instead.

The switch is enforced by dedicated middleware on every shop deal route rather than by hiding links in the theme, so disabling the feature genuinely closes the endpoints instead of merely concealing them. The module also overrides the simple product type so discounted pricing renders consistently — original price struck through, deal price beside it — everywhere the price HTML is used.

Bagisto Daily Deal extension configuration status switch in the admin panel

Step-by-Step: Enabling the Daily Deals Status

  1. Log in to the admin panel at /admin/login.
  2. Navigate to Configure → Daily Deals → Daily Deals Setting → Status.
  3. Toggle the Status checkbox to enable deals.
  4. Visit the shop front page and confirm the “Daily Deals Product” carousel appears.

Admin View of the Bagisto Daily Deal Extension

Daily Deal’s Products Grid

The grid lists every deal with its status, discount type, value, and date window. Filters and mass actions let you update several deals at once.

Daily deals products grid in the Bagisto admin panel

Product Edit – Daily Deals Panel

Each product edit screen gains a Daily Deals panel for the discount type, value, quantity cap, and the deal-from and deal-to dates.

Daily deals panel on the product edit page in Bagisto

Deal Analytics and Reporting

Analytics report total views, total purchases, and revenue over time for each deal, so you can tell which promotions actually converted.

Views and sales are recorded in separate tables rather than derived from order history, so the numbers survive catalogue edits and stay accurate after a deal ends. Revenue is charted over time, which makes it easy to see whether a discount drove genuine incremental volume or simply cannibalised sales that would have happened anyway.

Deal analytics report in the Bagisto Daily Deal extension

CSV Import

CSV import screen for bulk deal creation in Bagisto
Import summary tiles showing processed, created, updated and skipped deals

Step-by-Step: Importing a Deal CSV

  1. Go to Admin → Daily Deals → Import.
  2. Upload a CSV with the columns sku,deal_status,discount_type,deal_value,deal_from,deal_to.
  3. Click Import and review the Import Summary tiles for processed, created, updated, and skipped rows.

Customer View on the Storefront

Collection Page

Live deals surface in dedicated carousels on the storefront, each showing the discounted price beside the original one.

Daily deals collection page on the Bagisto storefront

Upcoming Deals and Notify Me

Deals with a future start date appear in the Upcoming carousel, where shoppers subscribe with Notify Me to hear when the deal opens.

Subscriptions are stored per product and email address, and the lifecycle command dispatches the notification mail the moment a deal goes live. The endpoint is open to guests so shoppers do not have to register first, and it is rate limited to stop a script enrolling addresses in bulk.

Upcoming deals carousel with the Notify Me option

Product Page Countdown

The product page shows a live countdown to the deal end time, along with the remaining quantity when a cap is set.

Countdown timer on a deal product page in Bagisto

Cart and Checkout Savings

Deal pricing carries through the mini-cart, the cart page, and checkout, so the saving stays visible right up to the order summary.

Cart page showing daily deal savings in Bagisto
Mini cart with the discounted deal price
Checkout order summary with daily deal savings applied

Step-by-Step: Placing a Guest Order

  1. Add a deal product to the cart from the product page.
  2. Proceed to checkout and fill the guest billing form.
  3. Select a shipping method and a payment method, then click Place Order.
  4. The order populates deal_sales and increments the product’s sold_qty, so capped deals show the remaining quantity.

Why Choose the Bagisto Daily Deal Extension

The module is a lightweight, channel-based mechanism for time-bound promotions. Merchants turn the feature on from a single admin setting, then assign discounts through the product edit panel or a CSV import.

Analytics track views and purchases, while the storefront handles live deals, upcoming promotions, and savings at checkout. The module ships with 22 locale files, from Arabic and Bengali to Turkish and Chinese, and is compatible with Bagisto v2.4.11.

For more modules that extend your store, browse our other Bagisto extension guides.

Current Product Version - v2.4.11

Supported Framework Version - v2.4.11

Blog Version - v2.4.11
  • Version v2.4.7
  • Version v2.4.11
  • Version v2.4.10
  • Version v 2.3.9
  • Version v 2.2.3
  • Version v 1.3.2
. . .

Leave a Comment

Your email address will not be published. Required fields are marked*


Be the first to comment.

Back to Top

Message Sent!

If you have more details or questions, you can reply to the received confirmation email.

Back to Home