Delivery & Pickup Scheduling

Both Delivery & Pickup Scheduling have the same options but these options control the respective order type (whether a delivery order or pickup order)

Delivery/Pickup Date #

Enable date #

Switching this option on allows the customer to set the date they’d like their order to be fulfilled.

Date field label #

Choose the text you want to show above the “Date” field on the checkout page.

Available delivery/pickup days #

Choose the days when you offer delivery or pickup services.

Make date field required #

Enable this option to prevent customers from checking out without choosing their delivery/pickup date.

Notice text #

The text you want to show then the customer doesn’t select a date for delivery/pickup.

Minimum days in future #

Set the minimum number of days in the future that a customer can place an order. This means that if today is Monday, and the minimum days in the future option was set to 1 then Monday(current day) and Tuesday would be blocked out and customers would be able to place an order from Wednesday onwards of that calendar month.

Inclusive of current day #

Whether to include the current day when calculating the minimum days in the future.

Maximum days in future #

This option allows you to set a “cap” on how many days in the future you can accept delivery/pickup orders.

Inclusive of current day #

Whether to include the current day when calculating the maximum days in the future.

Delivery/Pickup Time #

Enable time #

Switching this option on allows the customer to set the time they’d like their order to be fulfilled.

Time field label #

Set the label that appears above the time field:

Remove passed time slots from dropdown #

This options removes time slots that are no longer applicable for delivery/pickup. If you set a time slot as “9:00 AM – 12:00 PM”, and a customer tries to place an order at 12:01 PM, they would not see the 9:00 AM – 12:00 PM time slot in the list if this option is turned on.

Order Placement Buffer #

Use this option to set the amount of time you need to prepare an order. Using the same time slot above as an example, if you set the order placement buffer to 30 (30 minutes), and a customer tries to place an order at 11:31 AM, they would not see the 9:00 AM – 12:00 PM time slot in the list since 12:00 PM is less than 30 minutes away.

Enable time slot fees #

Turning on this option will allow you to set a custom fee for every time slot that you create. You can give the fee a custom name as well as set how it is calculated. Fees will only apply on the checkout page if a value is entered in the Fee amount text box.

As of v1.2.2 of the plugin there are 8 fee types:

Standard flat fee

The checkout fee is set to whatever value you enter in the field.

Number of items in cart (flat fee) [PRO]

The fee is multiplied by total number of items in the cart. E.g if the customer has 2 carrots and 5 mangos in their cart the the total in this case would be 7. This 7 would be multiplied by the fee you set.

Number of unique items in cart (flat fee) [PRO]

The fee is multiplied by the unique number of items in the cart. E.g if the customer has 2 carrots and 5 mangos in their cart the the total in this case would be 2. This 2 would be multiplied by the fee you set.

Cart subtotal (flat fee) [PRO]

The fee is multiplied by the cart “subtotal” value.

Number of items in cart (%) [PRO]

In this case the fee is calculated by getting the percentage of the number of items in the cart and the fee you set. The final fee is calculated with the formula: (total_number_of_items * fee) / 100

Number of unique items in cart (%) [PRO]

In this case the fee is calculated by getting the percentage of the number of unique items in the cart and the fee you set. The final fee is calculated with the formula: (number_of_unique_items * fee) / 100

Cart subtotal (%) [PRO]

The fee is calculated by getting the percentage of the cart subtotal and the fee that you set. The final fee is calculated with the formula: (cart_subtotal * fee) / 100

Developer Note

Percentage fees are not added to the fee you set in the time slot settings. If you’d like to achieve the following: ( ( option * fee ) / 100 ) + fee then you can add the following snippet to your website:

add_filter('lpac_dps_time_slot_fee_add_percentage_to_total', '__return_true');

Custom condition (advanced) [PRO]

This option lets advanced users calculate the fee using any available WooCommerce data (data available in WC() instance ) on the checkout page, or other custom logic. Use the lpac_dps_time_slot_fee_custom filter to manipulate the fee and return it to the checkout page. An example snippet is shown below:

function sl_cc_dps_custom_time_slot_fee($stored_fee, $fee_name, $wc){

	if( 'Custom fee' === $fee_name ){
		return $wc->cart->get_cart_contents_count() * 2;
	}
	
	return $stored_fee;
	
}
add_filter('lpac_dps_time_slot_fee_custom', 'sl_cc_dps_custom_time_slot_fee', 10, 3);

In the above example we’re setting the checkout fee as twice the number of items in the cart.

Apply taxes to timeslot fees #

This option allows you to apply taxes on your created timeslot fees.

Tax class #

Use this option to enable the tax class that should be applied to your timeslot fees.

Create your times #

Create your time slots for your chosen operating days. The available days match with your operating days selected in the delivery/pickup “Available days” option. If time slots are not created for a day, then customers can choose any time of that day.

Make time field required #

Enable this option to prevent customers from checking out without choosing their delivery/pickup time.

Notice text #

The text you want to show then the customer doesn’t select a time for delivery/pickup.

Delivery/Pickup Customer Note #

Customer Note #

Add a customer note that shows beneath the delivery/pickup fields on the checkout page.

Font size #

Set the size the customer note should be.

Delivery/Pickup Capacity (PRO Feature) #

Set capacity by #

Decide whether you’d like to set capacity restrictions by Days of the week or Time slots.

Days of the week option #

Enter the maximum number of orders you accept on various days of the week. This option applies to every single day throughout your calendar available days. Not setting a value will allow for unlimited orders.

Time slots option #

Set the maximum orders possible within specific time slots. The time slots available are pulled from the times that you created in Delivery/Pickup time settings.

You can optionally remove time slots that have been filled from the checkout so that customers do not see them as options. Customers won’t be able to place an order for a time slot if its maximum capacity has been reached.

Off Days (PRO Feature) #

Create the days that you wont be accepting delivery nor pickup orders from your store. These are essentially “Closed days”.

Delivery/Pickup User Roles (PRO Feature) #

Set the user roles that are able to see the delivery/pickup options at checkout.

Locations (PRO Feature) #

Create delivery or pickup locations that customers can select during checkout. Be sure to include the comma (,) in the coordinates. You can find the coordinates for an address using a website like this one.