Skip to content

Requirements and install

Delivery Date installs like every other extension sold here. Follow the shared procedure rather than a Delivery Date-specific one:

The OpenCart releases it runs on

OpenCart 4.0.2.0 is the floor, and a store older than that gets nothing at all: no tables, no order status, no settings. Delivery Date's own screen is what tells you why, naming the version you have and the version you need.

4.0.2.0, 4.0.2.1, 4.0.2.2, 4.0.2.3, 4.1.0.0, 4.1.0.2, 4.1.0.3 and 4.1.0.4 are the releases a full install-and-run pass has been through, and they are the only ones claimed. A release beyond them installs and runs, and says on the screen that it is untested. Untested does not mean known to be broken. Delivery Date registers nothing on OpenCart's scheduler, so the broken cron.php on 4.1.0.4 costs it nothing.

4.1.0.1 is the one release in that range that is not claimed. OpenCart's own guest checkout is broken there, so a guest cannot reach the step the date picker is part of. See Limits. It is OpenCart's fault, not ours, and OpenCart fixed it in 4.1.0.2.

The permissions

The module, which is the settings screen and the calendars:

extension/delivery_date/module/delivery_date

Tick it under both Access Permission and Modify Permission, at step 3 of the shared procedure, for every user group that should configure delivery days.

The day sheet, which is a permission of its own on purpose:

extension/delivery_date/sale/planner

It is separate so that a warehouse hand can be given Sales → Delivery Days without being given every module in the store. Access Permission reads the sheet. Modify Permission on the same route is what lets somebody change a firm booking's day from core's order page; the sheet itself stays read-only. Tick access alone for somebody who should read the day and not change it. Your own group is given both when you install Delivery Date (the + button), so all you have to do is log out and back in. Every other group is ticked by hand. A user group without access does not see the menu entry at all.

The two personal-data screens, which answer what Delivery Date holds about a person and remove it:

extension/delivery_date/customer/personal_data
extension/delivery_date/customer/purge

Access Permission on the first opens Customers → Personal Data. Looking somebody up or removing what is held about them there also needs OpenCart's own Modify Permission on customer/customer. The second is the screen that removes every booking at once, and needs both Access Permission and Modify Permission of its own, so you can hand somebody the per-person screen without the one that empties the lot. Your own group is given these at install; tick them by hand for any other.

What installing creates

  • Eight tables holding your calendars, the shipping methods and customer groups each is bound to, their slots and slot names, your per-product preparation times, one booking row per order, and Delivery Date's own copy of your settings. They are listed in the reference.
  • One order status, "Awaiting Delivery Date", used to flag an order whose day had to move or which could not be given a day at all. Your customers see it in their order history; see limits and guarantees.
  • Its settings, listed in the settings reference. The module itself is off until you enable it, which is OpenCart's own step and not something an extension should decide for you.

Nothing is written to your storefront's templates, and no theme file is edited. The picker is inserted into the shipping-method block your theme already renders.

What an update keeps

Updating means taking the old version off and putting the new one on, and OpenCart deletes an extension's settings on the way through. Delivery Date keeps its own copy and puts them back, so your hold window, your released statuses, your preparation basis, your review status, the two picker numbers and your wording are what they were. The module's Status switch and detailed logging come back off; the changelog says why.

Your calendars, your slots, your closed dates, your per-product preparation times and every booking are never touched by an install or an uninstall at all. The Awaiting Delivery Date status keeps its identifier, so orders that already carry it still read correctly afterwards.

Follow updating to a newer version in the order it gives.

Before it does anything

Two settings elsewhere in OpenCart decide what Delivery Date computes, so check both first:

  • System → Settings → Local → Time Zone. Every delivery day and every cut-off is worked out there. The store calendar screen prints the zone and the current time in it, so you can see what the store thinks the hour is.
  • The shipping methods you have enabled, under Extensions → Extensions → Shipping. A calendar is bound to shipping methods, so the list you can bind to is the list you have installed.