PS PrestaShop Beginner

Delivery Time Slots for PrestaShop: installation and setup

Install and configure delivery and pickup time slots: zones, capacity, fees, product lead times, planning and reminders.

Updated Module version 1.1.0

Overview

The module adds a delivery or pickup day and time slot choice to the PrestaShop 8 and 9 checkout. Each slot has a capacity in number of orders, each zone has its postcodes, carriers, order cut-off and closing days. The chosen slot follows the order to the planning, emails, invoice and delivery slip.

Installation

  1. In Modules > Module Manager, click Upload a module and send the dfdeliveryslots-1.1.0.zip file.
  2. The module creates the Orders > Delivery slots menu. The module’s Configure button leads there too.
  3. From version 1.0.0, simply upload the new ZIP: the upgrade script adds the new columns, tables and hooks.

Create a zone

Open the Zones and slots tab, then Add a zone. The first active zone in the list matching the carrier, country and postcode of the address is used.

Zone type

Home delivery or Pickup in store. The type changes the wording shown to the customer (“Choose your pickup day and time”), in emails and on the invoice. For pickup, attach your “pickup in store” carrier and leave the postcodes empty.

Carriers

Tick the carriers under which the picker is displayed. Only native carriers are listed: carriers provided by a module (pickup points, parcel services) are not supported.

Countries and postcodes

Leave countries empty for all countries. Postcodes are separated by commas or line breaks:

  • exact value: 06000
  • range: 06000-06300
  • prefix: 06*
  • hyphenated codes: 00-950, range 1000-001-1999-999

The Test a postcode field shows live whether a code is covered by the zone.

Lead time and cut-off

  • Minimum lead time (days): 0 allows same-day delivery, 1 starts the next day.
  • Order cut-off time: after this time, one day is added to the lead time.
  • Preparation time (minutes): a slot starting in less than this delay is no longer offered.
  • Booking window (days): number of days offered from the first possible day.
  • Maximum deliveries per day: limit for all slots of the day, 0 for no limit.

Weekly time slots

The quick generator creates slots in one go: ticked days, start and end time, duration, capacity and fee. Each slot can then be edited:

  • Capacity: maximum number of orders per slot and per date, 0 for unlimited.
  • Fee: tax-included amount added to the order for this slot (express, evening, Sunday), 0 for none.
  • Offered: when unticked, the slot stays saved but is no longer offered.

Removing a slot does not break orders already placed on it.

Closing days

The Closing days tab closes a date or a period (up to 366 days), for one zone or for all. Tick Repeat every year for fixed public holidays such as December 25.

Product lead times

The Product lead times tab adds lead days to products prepared to order. A rule applies to a product (ID or reference) or to a category. The longest extra time in the cart is added to the zone lead time, and the customer sees a message with the first available day.

Planning

The Delivery planning tab shows the next 14 days with their number of orders, then for the selected day the fill rate of each slot and the orders grouped by time slot.

  • Adjust this day: changes the capacity of a slot for this date only. Empty = usual capacity, 0 = slot closed that day.
  • Print the delivery sheet: addresses, phones and instructions per slot.
  • Export CSV: semicolon-separated file that opens in Excel.

Settings

  • Mandatory slot for carriers attached to a zone.
  • Hide these carriers when the address is outside every zone.
  • Slot in confirmation emails, added next to the carrier name.
  • Slot hold during checkout: 30 minutes by default, 0 to count only placed orders.
  • Remaining places threshold: shows “Only 2 left” below this number of places.
  • Accent color of the selected day and slot.
  • Tax applied to slot fees.

Fee line

PrestaShop cannot add an amount to the shipping cost of a native carrier without an override. The fee is therefore carried by a hidden product created by the module, added to the cart on its own line with a cart-specific price. Keep this product active and exclude it from your product feeds if needed. Its ID is shown in the settings.

Reminder email

Enable Send a reminder to the customer, choose the number of days before (1 = the day before, 0 = the same morning) and the time from which sending is allowed. Call the cron URL shown in the settings once per hour, for example:

0 * * * * curl -s "https://your-shop.com/en/module/dfdeliveryslots/cron?token=..."

The Send the due reminders now button triggers sending manually. Each order gets one reminder, sent again if you change its date from the back office. The dfds_reminder and dfds_reminder_pickup templates are in the module’s mails/ folder, in 8 languages.

On the order side

  • Order page: slot, zone, fee and a form to change the date or slot. Capacity is not checked for changes made from the back office.
  • Order list: Delivery slot column, sortable and filterable by date range.
  • PDF invoice and delivery slip: slot printed in the order language.
  • Cancelled order: the slot is released automatically.

Known limitations

  • Carriers provided by a module (pickup points) are not supported.
  • The module is designed for the native checkout. One-page checkout modules have not been tested.
  • A percentage voucher also applies to the fee line, and the fee counts towards the free shipping threshold.
  • If the shop is in maintenance mode, the cron must be called from an allowed IP.
Was this page helpful?

Still stuck? Contact support