Order Delivery is compatible with the extension WooCommerce Subscriptions and it works out of the box without any additional configuration.
This means that the customers can select a delivery date and define the delivery preferences for the recurring orders created from a subscription.
Requirements ↑ Back to top
- WooCommerce 3.5+
- WooCommerce Subscriptions 3.0+
Checkout ↑ Back to top
When a customer makes a purchase, he can select a delivery date for his order using the calendar field in the checkout form. This calendar allows selecting a date from the current day to the number of days specified in the setting “Maximum delivery range“. For example, 60 days. Days after that limit are disabled in the calendar and it cannot be selected.
When the order contains a subscription and the setting “Limit subscription orders to the billing interval” is enabled, the number of days the customer can select in the calendar is restricted to the periodicity of the subscription. So, for a monthly subscription, instead of a limit of 60 days from the current date, this limit is restricted to 30 days, 7 days if it’s a weekly subscription. This will avoid the customer to postpone an order delivery to the next billing cycle of the subscription (don’t receive anything the first month and receive two orders the second month).
Note: If the cart contains two or more subscriptions, for example, a weekly and a monthly subscription, we will use the minimum subscription period. A week on this case.
Note: If the “Maximum delivery range” setting value is lower than the subscription periodicity. The extension will use the setting value. E.g. A yearly interval against a maximum of 30 days for delivery.
You can disable this behavior by turning off the “Limit subscription orders to the billing interval” setting. This is especially useful for allowing your customers to postpone their orders when they are on vacation. In any case, this setting never modifies the renewal date of the subscription. Just the range of available days to deliver a recurrent order.
Note: We don’t take into consideration subscriptions with one-time shipping for this restriction.
Renewals ↑ Back to top
The delivery details also apply to the orders created from a subscription. Every time a subscription is renewed, the extension automatically calculates the delivery for the next order taking into consideration the customer preferences.
Manual Renewal ↑ Back to top
For manual renewals, the customer needs to login into your store and manually pay the order created during renewal.
This pending-payment order contains the delivery details assigned previously by the extension and will be used as the default values of the delivery fields in the checkout form. The customer is free to update them according to the available options. The process works in the same way described in the “Checkout” section.
Early Renewal ↑ Back to top
This feature was introduced in WooCommerce Subscriptions 2.3 and allows customers to pay a renewal before the order is created (without waiting for the next payment date). Order delivery is also compatible with this feature and it works like any other renewal. The delivery details calculated previously for the renewal are used as the default values and the customer can edit them in the checkout form.
Pay attention that an early renewal makes reference to a future order. So, the first available date for delivery in the calendar starts on the next payment date of the subscription and not on the current date. The “Maximum delivery days” setting also starts counting on this date.
E.g: Let’s suppose we are renewing a weekly subscription whose next payment date is April 1, 2019. Obviously, today is the previous day of that date (March 28, 2019). I go to the checkout form and the available delivery dates of the calendar go from April 1, 2019, to April 7, 2019. Remember it’s a weekly subscription and the next payment date is April 1, 2019. There are no available dates between March 28, 2019, and March 31, 2019, because these dates are out of the renewal interval.
Synchronized Renewal ↑ Back to top
WooCommerce Subscriptions allows you to synchronize the renewal date of your subscription products. You can get more info about it in this article.
Our extension calculates the delivery details for the next order of a subscription just after the renewal process has been completed. No matter which is the renewal date, it makes the calculations based on the settings and the customer preferences at that moment.
The delivery date will be the first available date after the renewal date. But this doesn’t mean that the date will be always on the same day of the week or the month.
Subscription Delivery ↑ Back to top
If the customer visits the subscription details page under the “My Account > Subscriptions” section, he will see the delivery details for the next order of this subscription at the end of the page. These values are generated automatically by the extension each time the subscription is renewed.
In addition, a new action called “Change Delivery” will be available. This action will redirect the customer to a new page in order to edit the subscription delivery details.
Edit Delivery ↑ Back to top
On this page, the customer can edit the delivery details for the upcoming order and define his delivery preferences.
Note: Our extension doesn’t include any functionality to make changes related to the shipping address or the shipping method of the subscriptions. This is handled by the “WooCommerce Subscriptions” extension. If you have any doubt about it. We recommend you to read its documentation or contact the support team.
Note: There are some cases in which this page will not be available for a subscription:
- The subscription has a daily billing interval.
- The system couldn’t find a valid delivery date for the next order.
- The merchant removes the delivery date manually.
- The subscription status is On-hold.
- The Checkout Options setting is set to display a text block instead of a calendar.
Next order ↑ Back to top
This section contains the delivery details for the upcoming order of the subscription. The customer can modify its values all the times he wants before the subscription is renewed.
Delivery Preferences ↑ Back to top
In order to avoid the customer the need to modify the delivery details for each order created for the subscription, he can set his preferred delivery days and time frames/time slots. So, if he doesn’t want to receive the orders on Mondays, he can disable them. The extension will try to adapt the delivery details of the future orders to the customer preferences always as possible.
Note: The customer can only set the weekdays that are enabled in the “Delivery Days” global setting and the shipping method of the subscription is available.
Note: If the delivery date cannot be adapted to the customer’s preferences, the first available date will be assigned.
Admin Screen ↑ Back to top
As the merchant, you can edit the delivery details for the next order of a subscription at any time. You only have to edit the subscription in your store dashboard and change its values manually.
The “Next order delivery” meta box also contains a table with the customer preferences to help you to assign the best delivery details possible.
Delivery Notes ↑ Back to top
There are a few notes that the extension may add to a subscription:
Customer change the delivery date ↑ Back to top
Every time the customer changes the delivery date for the next order, an internal note is added to the subscription. So, we have a log of all the changes.
A change in the next payment date ↑ Back to top
If for some reason, the next payment date of a subscription has to be modified, the delivery details will be updated automatically if the current values are not valid. In this case, a customer note is added to the subscription.
Note: If you don’t want that the extension sends this notification to the customer, you can update the delivery details manually at the same time that you change the next payment date (Before saving the changes).
Delivery date not found ↑ Back to top
When assigning a delivery date for the next order, if a valid date cannot be found, an internal note is added to the subscription. In this case, the delivery date is removed and the customer cannot update the delivery preferences until a new date is assigned by the merchant.
Others ↑ Back to top
Any other change in the delivery date is up to the merchant to notify the customer. We have decided to leave this case empty to let the merchants explain the reason for the change in a more personal note.
Emails ↑ Back to top
The order emails that contain subscriptions will include additional information to the default delivery details. This info is a link to the page that allows the customer to change his subscription preferences.
Additionally, when one of the previous notes is added to a subscription, an email notification will be sent to the merchant to keep him up to date.