Magento 2 Order Delivery Date: Let Customers Choose When They Receive

Learn how to add a delivery date picker with time slots to your Magento 2 checkout. Reduce missed deliveries and boost customer satisfaction.

Magento 2 Order Delivery Date: Let Customers Choose When They Receive

Missed Deliveries Are Costing You More Than You Think

Your logistics team packed the order. The carrier picked it up. The tracking shows "delivered." But the customer was not home. Now you are dealing with a support ticket, a redelivery request, and a frustrated buyer who may not shop with you again.

Missed deliveries are one of the most expensive problems in ecommerce. A 2023 study by parcelLab found that 18% of all delivered packages experience at least one failed delivery attempt. Each failed attempt costs retailers between $10 and $20 in additional logistics, customer service overhead, and storage fees. For a store processing 1,000 orders per month, that translates to roughly 180 failed deliveries and $1,800 to $3,600 in avoidable costs every single month.

The root cause is almost always a timing mismatch. The carrier shows up when the customer is at work, picking up kids, or simply unavailable. Magento 2 gives you no native way for customers to communicate when they want their order delivered. Your store ships on your schedule, not theirs.

The solution is straightforward: let your customers choose their preferred delivery date and time during checkout. When customers pick a date and time slot they know they can be home for, failed delivery rates drop. A MetaPack consumer survey reported that 77% of online shoppers say the ability to choose a delivery time slot directly influences their decision to complete a purchase. Giving customers control over delivery timing does not just reduce failed deliveries — it increases conversions at the same time.

What Is Order Delivery Date Scheduling (and Why Your Magento 2 Store Needs It)

Order delivery date scheduling is a checkout feature that displays a calendar and optional time slot selector to your customers before they place their order. The customer picks the date (and sometimes the time) that works for them. That selection is saved with the order, passed to your fulfillment team, and included in the order confirmation email.

Magento 2 does not include this capability out of the box. The native checkout collects a shipping address and a shipping method, but there is no mechanism for the customer to say "deliver this on Thursday between 2 and 5 PM." Your operations team is left guessing, or worse, shipping everything as fast as possible regardless of whether the customer is ready to receive it.

The psychology behind delivery date selection is similar to the principle of perceived control. When customers choose their delivery window, they feel ownership over the process. They have made a commitment to be available. That commitment reduces the "where is my order" anxiety that drives 30% of post-purchase support inquiries, according to Narvar's consumer report. The date picker transforms delivery from something that happens to the customer into something they planned.

Stores that add delivery date selection see measurable improvements. Failed delivery attempts decrease because customers pick dates they are available. Customer satisfaction scores increase because the experience feels tailored. Fulfillment teams gain visibility into which orders need to go out on which days, enabling better warehouse planning. And the delivery date appears in order confirmation emails, reducing "when will my order arrive" questions to your support team.

This feature is not right for every store. If you sell exclusively digital products, instant downloads, or subscription boxes with fixed ship dates, a delivery date picker adds unnecessary complexity. But for any store shipping physical products where the customer needs to be present — furniture, appliances, perishable goods, high-value items, or any shipment requiring a signature — delivery date scheduling directly reduces costs and improves the post-purchase experience.

Key Features of MageRa Order Delivery Date for Magento 2

MageRa Order Delivery Date adds a complete delivery scheduling system to your Magento 2 checkout. Every feature is built to reduce failed deliveries, improve customer satisfaction, and give your fulfillment team clear visibility into delivery expectations.

Calendar Date Picker. A user-friendly calendar renders directly in the checkout shipping step. Customers see available dates highlighted and unavailable dates grayed out. The calendar validates selections in real time — if a date is blocked, the customer gets immediate feedback instead of discovering the problem after placing the order.

Time Slot Selection with Capacity Limits. Optional time slots let customers narrow their delivery window to a specific range, such as 9 AM to 12 PM or 3 PM to 6 PM. Each time slot has a configurable capacity limit. When a slot reaches its maximum bookings, it displays as "Fully booked" and becomes unselectable. This prevents overloading your delivery team on any single time window.

Weekend Exclusion. Automatically exclude non-delivery days from the calendar with a single toggle. Turn on Exclude Weekends, then use the Weekend Days multiselect to choose exactly which days of the week count as closed — the list runs Sunday through Saturday, so you can block Saturday and Sunday, treat only Sunday as closed, or add any other recurring day your operation is dark. Those days are grayed out in the checkout calendar so customers never schedule a delivery your team cannot fulfill.

Minimum and Maximum Advance Days. Set a minimum number of days between the order date and the earliest available delivery date. This gives your warehouse team enough lead time to pick, pack, and hand off the shipment to the carrier. A maximum days setting prevents customers from booking deliveries months in advance, keeping your calendar manageable. Defaults are 1 day minimum and 30 days maximum, both configurable.

Delivery Comments. Customers can add special delivery instructions — gate codes, preferred drop-off locations, doorbell notes. You control the maximum character length. These comments save directly to the order and are visible in the admin panel, customer account, and order emails.

Order Grid Column. The delivery date appears as a column in the Magento 2 admin order grid. Your fulfillment team can sort and filter orders by delivery date without opening each order individually. This is critical for batch processing — pack all orders scheduled for Tuesday, ship them together, and move on.

Per-Store Configuration. Running multiple store views? Configure different delivery settings per store. Different lead times, different weekend-exclusion rules, different time slots — all managed from a single configuration panel.

Order Email and Customer Account Display. The selected delivery date, time slot, and comment appear in the customer's order confirmation email and in their order view page under their account. This sets clear expectations and reduces post-purchase support inquiries.

Admin Configuration

Screenshot of the MageRa Order Delivery Date admin configuration panel in Magento 2, showing general settings for enabling delivery dates, minimum and maximum advance days, weekend exclusion, and time slot configuration.

Extension Feature

Screenshot showing the MageRa Order Delivery Date calendar date picker and time slot selector integrated into the Magento 2 checkout shipping step, with delivery comment field and order summary.

How to Set Up Order Delivery Date in Magento 2

Step 1: Plan Your Delivery Windows

Before installing the extension, map out your delivery logistics. How many days does your warehouse need between receiving an order and handing it to the carrier? That number becomes your minimum days in advance. What is the furthest out your customers should be able to schedule? That becomes your maximum days. Identify which days of the week your operation is closed — most stores exclude Saturday and Sunday, but you might be dark only on Sunday or on another recurring day. Write those down; you will set them as your weekend-exclusion rule during configuration.

Step 2: Install the Extension

MageRa Order Delivery Date installs via Composer or manual upload.

Via Composer (recommended):

composer require magera/module-orderdeliverydate
php bin/magento module:enable MageRa_OrderDeliveryDate
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:flush

Manual installation: Download the extension files, upload them to app/code/MageRa/OrderDeliveryDate/, then run the setup commands starting from module:enable.

Requirements: Magento 2.4.6 or higher (compatible through 2.4.9), PHP 8.3 through 8.5, and Composer 2.x.

Step 3: Configure General Settings

Navigate to Stores > Configuration > MageRa Extensions > Delivery Date Configuration. This is where you control all delivery date behavior.

Under the General Settings group, set Enable Delivery Date to Yes. Toggle Required Field to Yes if you want to force customers to select a date before they can place their order — recommended for stores where delivery scheduling is critical. Set your Minimum Days in Advance and Maximum Days in Advance (these gate how soon and how far out a date can be chosen). Set Exclude Weekends to Yes to reveal the dependent Weekend Days multiselect, where you tick exactly which days count as non-delivery days — the source list runs Sunday (0) through Saturday (6), so you can treat, say, only Sunday as closed or block both Saturday and Sunday.

Step 4: Configure Time Slots and Comments

Under the Time Slot Settings group, toggle Enable Time Slots to Yes, then set Required Field to Yes if a slot must be chosen. Toggle Enable Delivery Comments to let customers add instructions, and set Comment Max Length (the dependent field that appears once comments are on) to keep notes concise for your fulfillment team.

The slots themselves are managed on their own grid, not in the config screen. Go to Sales > Operations > Delivery Slots (admin route magera_deliverydate/deliveryslot/index) and click "Add New Slot." Each slot record carries a Slot Label (for example, "9:00 AM – 12:00 PM"), a Start Time and End Time, a Max Orders capacity that caps how many orders can book that window, a Sort Order, and an enabled flag. Once enabled, the storefront pulls the live list from GET /V1/magera/delivery/slots (an anonymous endpoint backed by getActiveSlots) so the picker only ever offers slots that still have capacity.

Step 5: Configure Frontend Display

Under the Frontend Display group, set Show in Order View to control whether the delivery date appears on the customer's order view page, and Show in Order Emails to include it in order confirmation/notification emails. Select your preferred Date Format — the real options are MM/DD/YYYY, DD/MM/YYYY, YYYY-MM-DD, "MMMM D, YYYY" (e.g., December 31, 2026), and "DD MMMM YYYY" (e.g., 31 December 2026). This ensures the date displays consistently across all customer-facing touchpoints.

Step 6: Verify Cron and Test the Flow

The module ships a cron job, magera_deliverydate_cleanup_slots (class Cron\CleanupExpiredSlots), scheduled daily at 02:00 (0 2 *) in the default group. It prunes expired slot bookings so capacity counts stay accurate — confirm your Magento cron is running (php bin/magento cron:run) so this housekeeping happens automatically.

Then test the full checkout flow on both desktop and mobile: verify the date picker renders in the shipping step, that excluded weekend days are unselectable, that dates outside the min/max advance window are blocked, and that time slots display with their remaining availability. Place a test order and confirm the delivery date shows on the order view and in the confirmation email per your Step 5 toggles.

MageRa Order Delivery Date for Magento 2

MageRa Order Delivery Date is built for Magento 2.4.6 through 2.4.9, supporting both Open Source and Commerce editions. It runs on PHP 8.3 through 8.5.

The extension differentiates itself on three fronts: operational flexibility, fulfillment visibility, and seamless checkout integration. The date picker, time slots, weekend exclusion, and advance day limits are all configurable per store view — no code changes needed. The order grid column gives fulfillment teams instant visibility without custom reports. And the calendar integrates directly into the Magento 2 checkout shipping step using native UI components, so it matches your theme without additional styling.

The extension also exposes a REST API endpoint for retrieving active delivery slots (GET /rest/V1/magera/delivery/slots), along with admin endpoints for creating, updating, and deleting slots, making it compatible with headless or PWA storefronts. Delivery data is stored in dedicated columns on the sales_order and quote tables, so it exports cleanly with standard Magento 2 order exports.

Visit magera.ca/magento-2-order-delivery-date.html for pricing, documentation, and live demos.

5 Delivery Scheduling Tips to Reduce Missed Shipments

Installing the extension is the first step. These five tactics will help you get the most from your delivery date feature.

1. Set your minimum advance days based on real warehouse capacity. If your warehouse needs 48 hours to process an order, set your minimum days in advance to 2. Cutting it to 1 because it "feels faster" will lead to late shipments and angry customers. Match the setting to your actual operational capability.

2. Create time slots that align with real delivery routes. If your carrier makes morning runs between 8 AM and 12 PM and afternoon runs between 1 PM and 5 PM, create time slots that match. Arbitrary slots like "10 AM - 2 PM" that span two carrier routes create logistical confusion. Align your slots with how your shipments actually move.

3. Use weekend exclusion and the advance window to keep the calendar realistic. Set Exclude Weekends with the Weekend Days multiselect so the recurring days your warehouse is closed never appear as selectable. Then tune Minimum Days in Advance to match your true pick-and-pack lead time and Maximum Days in Advance so customers cannot book unrealistically far out. Around a holiday when your team will be closed on a one-off date, temporarily raising the minimum-advance value is a simple way to push the earliest selectable date past the closure until normal operations resume.

4. Use delivery comments to reduce failed attempts. Encourage customers to add instructions by keeping the comment field enabled and prominently placed. Gate codes, building entry notes, and "leave at back door" instructions help drivers complete deliveries on the first attempt. You can also combine this with the MageRa Checkout Custom Fields extension to add structured fields for common delivery preferences.

5. Monitor your order grid weekly. Sort the admin order grid by delivery date at the start of each week. Identify which orders need to ship that day, which can wait, and whether any time slots are approaching capacity. This weekly review takes five minutes and prevents the last-minute scramble that leads to shipping errors.

Wrapping Up

Every missed delivery costs you money — in redelivery fees, customer support time, and lost repeat business. The root cause is almost always a timing mismatch between when the carrier shows up and when the customer is available. Giving customers the ability to choose their delivery date and time during checkout eliminates that mismatch.

MageRa Order Delivery Date adds a complete delivery scheduling system to your Magento 2 store: a calendar date picker, optional time slots with capacity limits, configurable weekend exclusion, minimum and maximum advance days, delivery comments, and an order grid column for fulfillment visibility. It integrates directly into the checkout shipping step, displays in order emails and customer accounts, and supports per-store configuration for multi-store setups.

The extension is compatible with Magento 2.4.6 through 2.4.9 and works with both Open Source and Commerce editions. REST API endpoints support headless and PWA storefronts. Visit magera.ca for pricing.

Ready to stop losing money on missed deliveries? Try MageRa Order Delivery Date for Magento 2 and give your customers the delivery control they expect.

FAQ

Q1: Does the delivery date picker work on mobile devices? Yes. MageRa Order Delivery Date renders a responsive calendar that adapts to mobile screen sizes. The date picker, time slot selector, and delivery comment field all function on smartphones and tablets. Touch interactions work natively — customers tap dates instead of clicking. The calendar loads without any external JavaScript dependencies, so it performs well even on slower mobile connections. Time slots display in a grid layout that reflows to a single column on narrow screens, keeping the selection easy to use regardless of device.

Q2: Can I set different delivery settings for each store view? Yes. The extension supports per-store configuration. You can set different minimum and maximum advance days, different time slots, and different weekend-exclusion settings for each store view. This is useful if you operate stores in different regions with different warehouse locations, carrier schedules, or holiday calendars. All configuration is managed from Stores > Configuration > MageRa Extensions > Delivery Date Configuration, with a store view scope selector at the top of the page. Changes apply immediately after saving and flushing cache.

Q3: What happens when a customer selects a delivery date but the order is canceled or refunded? The delivery date selection is saved with the order data. If the order is canceled, the selected date and time slot are automatically released — the capacity count for that slot is restored so other customers can book it. This prevents "phantom bookings" where a time slot appears full because of canceled orders. For partial refunds where the order is not canceled, the delivery details remain unchanged. The extension does not modify delivery data after the order is placed unless the order itself is canceled through the standard Magento 2 cancellation workflow. You can also use the MageRa Auto Cancel Order extension to automatically cancel and release delivery slots for unpaid orders after a configurable time period.

Internal Links

End of post

Comments (0)

Be the first to comment.

Ready to ship better Magento 2 stores?

64 premium extensions, one quality bar. Composer install, 30-day money-back guarantee.