Desired Delivery Date Picker | Customers pick their preferred date at checkout
Description
Highlights
About the Extension
It is Friday afternoon and the phone rings. A customer wants to know whether the parcel arrives before she goes away. You look up the order, count the days, call back. Ten minutes for a question the customer could have answered herself while ordering.
The problem
Your customers order blind. They do not know when the goods turn up, and you do not know when anybody is at home. With chilled food, with furniture, with anything tied to a date, that uncertainty turns into money: failed deliveries, returns to sender, tickets in your inbox.
And when your warehouse shuts for a fortnight, the checkout says nothing about it. Orders keep coming in as if nothing happened. You sort out the mess afterwards.
The solution
The plugin puts a calendar field into the checkout. Your customer clicks it, sees a calendar and picks a delivery day. Everything that will not work is closed off: dates inside your lead time, weekdays you do not deliver on, your shutdown periods. Whatever a customer can pick, you can actually deliver. That is the whole idea.
What's in it for you
Fewer calls about delivery times. The single most common question your service desk gets is answered by the customer before the order is placed. Each cart line shows the earliest possible delivery date, and the checkout lets the customer choose the day.
Deliveries you can plan. You can see in the order when the goods are due to leave. The chosen date sits on the order as a custom field, and the plugin also writes it into the earliest shipping date of the delivery.
Enter your shutdown once and forget it. You create a period with a start date and an optional end date, and the shop calendar closes those days. Bank holidays, stocktaking, the works fortnight: one list, as many entries as you need, each one nameable in English, German and Dutch.
Fresh goods get more time than stock items. Set a lead time in days on the product itself. If several items sit in the basket, the highest value wins. Nobody gets offered a date on which only half the order would be ready.
B2B and B2C stay apart. Every setting belongs to a sales channel. In your trade shop the buyer picks a goods-in slot, in the consumer shop the field stays off. You can also limit the whole thing to selected customer groups.
How the plugin works
You switch the plugin on for a sales channel and select the customer groups that should see the field. Then you set the lead time in days: a 2 means the day after tomorrow at the earliest. Make the entry mandatory if you want, and nobody gets through the checkout without a date.
Blocked periods live in their own area of the administration under Catalogues. Each entry is a date range that you assign to the shipping methods it should apply to. On the shipping method you also decide which weekdays it delivers on, Monday through Sunday. Select nothing and all seven days stay open.
Shipping and payment methods that rule out a scheduled delivery go into two exclusion lists. If a customer switches to one of them during checkout, the field disappears and the date is dropped. Switch back and the date returns.
Typical use cases
Food and chilled goods. Cheese, meat, a birthday cake: goods that should land on the Friday because the party is on Saturday. Block Sunday and Monday as delivery days, set a two day lead time, done.
Furniture and pallet freight. When somebody has to be in to take the delivery, the date decides whether it works. Give your pallet carrier Monday to Friday and leave the days open for Royal Mail and DPD parcels.
B2B with fixed goods-in windows. Your trade customer takes deliveries on Tuesdays and Thursdays. They pick the right day themselves instead of emailing you a date that somebody then types in by hand.
Technical facts for your IT team
Shopware 6.7, PHP 8.2 or newer, the Storefront is required. The plugin ships two tables of its own for the blocked periods and their translations; Shopware core tables stay untouched. Everything else lives in custom fields on the product, the shipping method and the order.
The plugin sends no data to external servers. There is no outbound interface, no tracker, no call to a third party API. It processes one date that the customer types in, and that date stays in your Shopware database. The value is validated server side as a real calendar date before it goes into the session.
The checkout runs one query for all basket items instead of one per line. The lookup of blocked periods uses a dedicated database index. Access to the blocked period list can be handed to restricted roles through separate view, edit, create and delete privileges. On uninstall you decide as usual via the keep user data option: without it the plugin removes its configuration, its tables, its custom fields and its own snippets, and leaves everything else alone.
To be honest
The plugin works on whole days. Time slots such as "between 2pm and 4pm" are not supported, and it does not cap how many orders land on one day. If you want to sell fixed delivery slots with a capacity, you need something else. The date field sits in the checkout, not on the product page. If that matches how you ship, you will have it set up in a few minutes. Give it a try.
Legal notice
We accept no liability for legal requirements. Please check the use of this plugin with a qualified legal advisor.
Details
- Available: English, German
- Latest update: 1 October 2026
- Publication date: 16 June 2021
- Version: 6.7.3
- Category: Checkout / Cart process
Resources
Reviews (0)
About the Extension Partner
BuI Hinsche GmbH
Partner Status
-
Shopware
Bronze Partner -
Shopware
Premium Extension Partner
Details
- Ø-Rating: 4.3
- Partner since: 2014
- Extensions: 96
- Certifications: 2
Support
- Based in: Germany
- Speaks: German, English
- Response time: Very quickly