M2_DELIVERY DATE SCHEDULER

DELIVERY DATE SCHEDULER

 

Version: 1.2.3

 

Compatibility:

Magento Community Edition 2.1.* to 2.4.*

About Delivery Date Scheduler

Introduction

 

AppJetty provides an effective solution in the form of Delivery Date Scheduler which is helpful for entrepreneurs to easily deal with the order management process.

 

An ideal extension for customers which allows them to select the date on which they want to receive delivery of the product. Admin can disable week off days and time slots which won’t allow customers to choose those days and times for delivery.

 

 

Benefits of Delivery Date Scheduler

 

Makes it convenient to manage delivery schedules

 

Effectively displays the delivery date with order information

 

Delivery Date Calendar to view the date/days wise orders

 

Enables admin to consolidate order management processes

 

Allow selecting the Delivery date option when min. order value is exceeded

 

Manage the Delivery Date option on the Cart page

 

Mange the holidays and Blackout

 

Exclude Holidays from processing days

 

Display timer on specific products

 

Manage same-day delivery with additional charge

 

Create a seamless shipping experience for customers

 

Save a lot of time and money for delivery

 

 

Prerequisites

 

Admin should have a Magento Account.

 

Admin should have configured stores.

 

 

Installation & Activation

Installation Steps

Step 1:

For Windows OS:

 

Go to <your Magento install dir>/app/code. Under that, create the folders using following hierarchy:

 

Biztech

Delivery Date Scheduler

Deliverydatepro

 

For Linux OS:

 

Enter the following commands keeping their order:

 

cd <your Magento install dir>/app/code

mkdir -p Biztech/Deliverydate

mkdir -p Biztech/Deliverydatepro

 

After this, find the Download Zip and extract all files and folders in Biztech/Deliverydate. and Biztech / Deliverydatepro

 

 

Step2:

 

After the successful installation you have to run the command on Magento2 root directory-“php bin/magento setup: upgrade”.
If you see blank page or permission error, go to Terminal (Linux)/ Command Prompt (Windows).

 

cd [magento root directory][var]

Run the following command

$ chmod –R 777 *

 

 

Step3:

 

After running the command, log into the admin panel and clear the Cache. Go to SYSTEM -> Tools (section) -> CACHE MANAGEMENT to clear the cache.

 

 

Step4:

 

After the successful installation, you can see the “Delivery Date” under APPJETTY EXTENSIONS tab inside STORES -> CONFIGURATION.

 

 

Installation via Composer

 

Step 1:

 

Create a new folder on your preferable server path. Add Extension zip archive into the created folder.

 

 

Step 2:

 

Use Your SSH details to connect to your server. After connecting to the SSH, change your working directory with the one of your Magento setup path using below command.
cd /PATH/TO_YOUR_MAGENTO_SETUP_PATH

 

 

Step 3:

 

Now you have to define the folder with the extension’s archive as a repository for composer reference. For this, run the Composer command:
composer config repositories.biztech artifact /ABSOLUTE_PATH_TO_ZIP_Archive_FOLDER/

 

For Example:

composer config repositories.biztech artifact /Packages/Biztech/
After executing this command, it will automatically add Repository Details in composer.json file.

 

 

Step 4:

 

Perform the following command for installation of the module:
composer require biztech/Delivery date

 

 

Step 5:

 

After successful installation using the above command you can verify the module status using the below command:
php bin/magento module:status

 

You can check newly added module in the List of disabled modules.

 

 

Step 6:

 

Now you can upgrade your setup using below command.

 

php bin/magento setup:upgrade
It will enable the module and it should be doing the automated process required by Magento.

 

 

Step 7:

 

You can now compile the modules using below command.
php bin/magento setup:di:compile

 

 

Step 8:

 

In case if you have to update our extension from a composer you can use the below command:
composer update biztech/Delivery date

 

But before using that command you should have placed the latest Extension zip archive into the /ABSOLUTE_PATH_TO_ZIP_Archive_FOLDER/

 

After executing the above command your module is updated and now you just have to run the upgrade command same as step 6 and compile command same as step 7.

 

 

Delivery Date Activation

Extension Activation

Get the activation key from the Order Confirmation Mail. OR

 

Login to your AppJetty Store account then go to Downloadable options and copy the activation key for the Delivery Date Scheduler extension.

 

 

Activate your extensions

 

Log into Magento 2Admin Panel and go to Store -> Configuration -> Appjetty Extensions /Delivery date Activation and enter the activation key in the ‘Activation Key’ field for the Delivery Date Scheduler extension then click the ‘Save Config’.

 

 

Select Websites

 

When you enter and save the key it will be verified on our server and you can select the websites where you need to use the Delivery Date Scheduler extension. Click the ‘Save Config’ button after making your selections.

 

You are now ready to use the Delivery Date Scheduler extension. Now, Delivery Date Scheduler got activated! You just must set configurations.

 

 

 

Delivery Date Configuration

General Configuration

Please follow the below steps to enable and configure the “Delivery Date Scheduler”.

 

Go to Store -> Configuration. In the left column, you will see the tab AppJetty Extensions -> Delivery Date.

 

Enabled: Select ‘Yes’ to enable the Delivery Date extension. The extension is disabled by default.

 

Enabled at Admin: Select ‘Yes’ to let admin select the delivery date. This selection will be done at the time of creating orders from the backend.

 

Display Selected Delivery Date On: Select pages on which you want to display selected delivery date. It can be on different admin as well as front end pages.

 

 

Product Level Delivery Date

The following options are common for the “Checkout Shipping Method”, “Product Detail Page” & Cart Page:

 

Additional Delivery Charge: Insert the additional delivery charge on order for a specific product. If you keep it 0 (zero) or empty, no additional charge for the selected product will be added.

 

Order Processing Time: Insert the Number of days needed to prepare the order. Leave it blank to provide same day delivery.

 

Insert the Cut Off Hour, Minutes & Seconds.

 

 

Time Slot Settings

Label for timeslot view table: Default label that you would want to keep for timeslot selection.

 

Add no. of Delivery days: Provide the no. of days for which you are going to provide delivery.

 

Minimum interval of hours between the order placing time and delivery time: You can add the time interval in hours which will be the minimum gap between order placing and delivery time
i.e. Customer will not be able to select the delivery time lees than the hours you have entered.

 

Add time slot: Admin can add the time slot in sorting order by entering the fields for “Start time”, “End time” and “Price”. You can charge extra for specific time intervals under the price.

 

By clicking on the Add Time Slot button, admin can add more slots as per your requirement and provide the delivery availability.

 

Disable time slot of day: Here you can select the “Day” and “Timeslot” which you want to disable e., customer will not be able to select that day and timeslot.

 

Disable time slot of particular day: You can select the “Date”, “Month”, “Year” and “Timeslot” which you want to disable.

 

 

Day Off Settings

Day Off: Select day when you don’t provide shipment, so customer can’t select that day.

 

Single Day Off: Set and Disable single day offs (Festivals and national holidays). You can select date, month and year from the drop-down button as per required.

 

Period, from-To: Set and Disable Dates for a given period. When you have holidays for a couple of days then you can disable those dates.

 

Exclude Holidays: By selecting “Yes” here, all the enabled holidays from “Delivery Date à Manage Holidays” will be disabled for the date selection.

 

Exclude Holidays: By selecting “Yes” here, all the enabled holidays from “Delivery Date à Manage Holidays” will be disabled for the date selection.
Note: This configuration is only applicable if delivery period is selected from the checkout page and order shipment is not generated.

 

After Configuring the Day off details, click on the Save Config button.

 

 

Update Delivery Date

Customer can edit and update the desired delivery date for the order. As an admin, you can enable the Update Deliver Date option for the customers.

 

Allow customer to edit delivery date: By selecting Yes, you can allow the customer to edit the selected delivery date once again and update the delivery date.
Note: Update delivery date is only applicable if the delivery period is selected from the Checkout Page and Order Shipment is not generated yet.

 

Rule Condition to allow editing: Admin can define the rule option based on the selection of either Order Status or Day.

 

Order status can be rescheduled: Select the Order status in which case the customers can edit the delivery date information.

 

Day: If admin selected Day, the Time interval to update day will be available to select no. of days before that customers can edit the selected delivery date.

 

 

Frontend Configurations

Select and configure the required options for Front End.

 

Show delivery schedule in: Set ‘Calendar View’ to display the calendar and set ‘Time Slot View’ to display time slots for delivery date selection.

Calendar View

You can display the Delivery Date as “Calendar View”. If you have selected the Calendar View, you can manage the following options:

 

– Date Display Mode: Select the relevant mode to display the date. There are four different modes are provided: Calendar, Radio Button, Dropdown & Button.

 

If you have selected Calendar to “Date Display Mode”, the following option will be available:

 

– Date picker animations: Display the animation when the date picker is clicked and closed.

 

– Use datepicker bottom bar: Display a bottom bar for selecting today’s date and visible the “Done” button for closing the calendar.

 

Note: Above both options are visible only if you have selected the “Calendar” display in the Date Display Mode selection.

 

If you have selected “Yes” to the Enable Delivery TimeSlot, the following option will be available:

 

– Label for timeslot: Insert a ‘label’ for a calendar timeslot.

 

– Timeslot Display Mode: Select the relevant mode to display the Timeslot from the provided modes: Radio Button, Dropdown & Button.

 

– Enable RTL (Right to Left) in datepicker: You can enable the Right To Left view in datepicker.

 

– Maximum Number of Day for Delivery: Inset the days (in months) to define the number of days you want to make available for selection as delivery date to your customers.

 

– Make Delivery Date Mandatory: Set ‘Yes’ to make the delivery date as a required field.

 

 

But if you select No for the Make Delivery date mandatory, you can provide the Pre-selected Delivery Date:

 

– Pre-Select Default Delivery Date: Enable this option to display the first available delivery date selected in the date picker.

– Pre-Select Delivery Date After: Insert how many days are required to process the order and ship it.

Label for Delivery Date: Enter text to display as Label for the delivery date on the front end.

 

Label for Delivery Date Comments: Enter text to display as Label for delivery date comment in frontend.

 

– Allow Customer to add Comment: You can enable/disable the comments section under the Delivery Date. If you don’t want to allow the customers to add the comments, disable this option by selecting the No option.

 

But, if you want to allow the customers to add the comments regarding the order/shipment, enable the comment by selecting the Yes option.

 

The customers will get the additional edit box to add any instruction/note in the delivery date section.

 

– Enable Call Me Before Delivery: Select Yes to enable the “call me before delivery” option in the delivery date section. If you select “Yes”, the following options will be enabled:

 

– Label for call me Before Delivery: Enter text to display as label for call me before delivery on the frontend.

 

– Show Additional Info: You can display any custom message or additional information to the customers. Select Yes to display additional information to customers.

 

– Additional info for Customers: You can add a custom message to notify customers if any special instruction is there.

 

– Date Format: Defined date format will be displayed in the frontend and admin panel. i.e. d/m/y, d-m-y etc.

 

– Time Format: Define the time format which will be displayed in the frontend and admin panel. i.e. g:I a or H:i:s.

TimeSlot View

You can display the Delivery Date selection as a TimeSlot View. [1]

 

You can manage the following options to display the Delivery Date as TimeSlot View:

 

– Make Delivery Date Mandatory: Set ‘Yes’ to make the delivery date as a required field.

 

But if you select No for the Make Delivery date mandatory, you can provide the Pre-selected Delivery Date [2]:

 

– Pre-Select Default Delivery Date: Enable this option to display the first available delivery date selected in the date picker.

 

– Pre-Select Delivery Date After: Insert how many days are required to process the order and ship it.

Label for Delivery Date: Enter text to display as Label for the delivery date on the front end. [3]

 

Label for Delivery Date Comments: Enter text to display as Label for delivery date comment in frontend.

 

Allow Customer to add Comment: You can enable/disable the comments section under the Delivery Date. If you don’t want to allow the customers to add the comments, disable this option by selecting the No option.

 

But, if you want to allow the customers to add the comments regarding the order/shipment, enable the comment by selecting the Yes option. [4]

 

The customers will get the additional edit box to add any instruction/note in the delivery date section.

 

Enable Call Me Before Delivery: Select Yes to enable the “call me before delivery” option in the delivery date section. If you select “Yes”, the following options will be enabled: [5]

 

Label for call me Before Delivery: Enter text to display a label for calling me before delivery on the frontend.

 

Show Additional Info: You can display any custom message or additional information to the customers. Select Yes to display additional information to customers. [6]

 

Additional info for Customers: You can add a custom message to notify customers if any special instruction is there.

 

Date Format: Defined date format will be displayed in the frontend and admin panel. i.e. d/m/y, d-m-y etc.

 

Time Format: Define time format which will be displayed in the frontend and admin panel. i.e. g:i a or h:i:s.

Delivery Date

From the Magento navigation pane, you will find the Deliver Date option there. Under the “Delivery Date” option, you can manage the Holidays and check the order details on the Calendar.

 

 

Delivery Calendar

Navigate to Delivery Date -> Delivery Calendar to check the orders from the calendar view.

 

You can easily check month-wise orders from the calendar view. You can check the previous month’s orders -> and next month’s orders ->.

 

 

Manage Holidays

Navigate to Delivery Date -> Manage Holidays to add the upcoming holidays to manage the unavailable delivery dates.

 

You can filter and search the specific holidays, you can change status of the holidays with multiple selection.

 

Click on the “Add New Holiday” button to add a new holiday detail.

 

Holiday Title: Insert the relevant name of the holiday. i.e., Independence Day

 

Annual: Select Yes if the holiday will occur every year.

 

Day: Insert the date.

 

Month: Select the month

 

Year: This option will appear only when you have selected “No” to Annual option. You need to insert the (current) year here.

 

 

After selecting and inserting the details, click on the Save Holiday The added holiday will be added in the list.

 

From the delivery date selection, the customers will get the holiday dates disabled for selection.

 

 

Store View (Frontend)

Delivery Date Selection

Once admin has configured the Delivery Date from the backend, the customers will get the delivery date option according to that configuration.

 

If the admin has set the Delivery restriction option that the delivery option will be enabled only when the min. order value exceeds a certain defined value (amount), the customers will get the Delivery Date selection option only when that happens.

 

The date display will appear as per the selection in the “Date Display Mode” from the configuration. (Calendar, Radio Button, Dropdown or Button)

 

Once the customer selects the Delivery Date, the Delivery Timeslot will also be enabled if admin has enabled from the Delivery Date configuration.

 

The time list in the Timeslot will appear as per the selection of the available timeslots and the selected Timeslot Display mode (Radio Button, Dropdown or Button).

 

If admin has selected the Timeslot View in the “Show delivery schedule in”, your customer will get date wise all the time slots as shown below.

 

Admin can disable the time slot and display just the date selection by disabling the Time Slots from the Delivery date configuration.

 

Here, if the holidays are added for a specific date, the customers will get those dates disabled here.

 

Similarly, if admin has set the Delivery Date selection on Cart page, the customers will get Delivery Date option as per the configuration.

 

 

Delivery date selection on Product page

 

If admin has selected the Delivery Date Display at Product Detail Page, the customer will get the Delivery Date selection options on the Product detail page.

 

You can also provide the customers same-day delivery timer for the products in case of all the products for which same-day delivery is available.

 

 

Order Summary details

 

Once the customer ordered by selecting their preferable deliver date with the time slot, they can check delivery date and its related options from the “Order Summary“.

 

 

Date selection for Multiple Addresses

If you have enabled the “Delivery Date selection for the multiple addresses” option from the Delivery Date configuration, the customers would be able to select the desired delivery date multiple addresses for their orders from the Checkout page.

 

The customers will get the option of “Multiple Addresses” on the Shopping Cart page.

 

By clicking on the “Check Out with Multiple Addresses” option, the customers will navigate to the “Ship to Multiple Addresses” page where the customers will get the option to select the different addresses for the different products (orders).

 

Once addresses are selected, click on the “Update Qty & Addresses” button, and go to the Shipping information page.

 

Under the Shipping Method, the customers will get the Delivery Date Information. The customers can select the required Shipping Method and Deliver Date with its required details.

 

Similarly, the customers can select the Delivery Date for other orders (products) under the shipping address.

 

After selecting the Delivery date options, the customers can proceed for the payment and before that they can review the order detail with deliver date information.

 

 

Edit Delivery Date

Customer can edit the “delivery date” even after placing the order. Customer can navigate to the “Order View” from their account and under the Order information, they will find the Edit button to update the Delivery Date.

 

Once the customer edited the Delivery date options, they must click on the Delivery Date button.
Note: The customer will get the Delivery Date options as per the backend configuration in the Delivery Date and if the order is shipped, the customer will not get the Edit delivery date option.

 

 

Admin’s (Magento) Dashboard

Dashboard

Once the customer’s order by selecting their preferable deliver date with the time slot, admin can get the details on the Dashboard.

 

Admin’s dashboard view for “Delivery date calendar” where admin can see no. of order scheduled for a particular date with its details.

 

 

Delivery Date Calendar

Once the customers place the orders, the admin can view all the orders under the “Delivery Date Calendar.” For that, navigate to Delivery Date -> Delivery Date Calendar from the Magento navigation pane.

 

From the calendar, you will get the order number detail as per the ordered date. By clicking on the order no., you will redirect to the order details page (Sales -> Orders) from where you can check the order details and delivery date for the select order.

 

 

Sales Orders

Admin can view the delivery date information from the Sales -> Orders.

 

 

Edit Delivery Date

From the Order detail page, you will find the Edit option under the Shipping & Handling Information.

 

By clicking on the Edit button, the shipping date can be changed by Admin as per requirement.

 

By selecting the Delivery Date, Time Slot & inserting the comments, click on the Update Delivery Date option.

 

 

Magento API: REST AND GRAPHQL API

Rest API end points

Get delivery info in the existing order details API:
URL: SiteURL/rest/V1/order/:order_id

 

Delivery info of order in the search Criteria or Filter:

 

Delivery date information for date picker or timeslot.
URL : baseurl/rest/V1/deliverydateinfo

 

 

Graphql Endpoints

Customer Order details with Delivery information.

Query:
{
customerOrders {
items {
order_number
created_at
grand_total
status
delivery_timeslot
shipping_arrival_comments
shipping_arrival_date
}
}
}

 

 

Delivery date information for date picker or timeslot in Checkout page.

Query:
{
deliveryInformationAtCheckoutPage {
templateConfig {
useTemplate
deliverydateComments
deliverydateLabel
displayHtml
showHtml
}
general {
enabled
disabledDates
ProductWiseCharges
deliveryOption
add_comment
comment_required
applyAdditionalCharge
sameDayCharges
enable_same_day_charge
allowProductWiseCharge
currencySymbol
enablwOnWhichPage
}
calendar {
options {
buttonImage
buttonText
interval
isRTL
maxDate
showAnim
showButtonPanel
showsTime
dateDisplayMode
getavailableDays {
disable_value
value
day_id
display_value
}
enableTimeSlotForCalendar
timeDisplayMode
deliverydateSlotLabel
imageUrl
}
}
timeslot {
enabled_timeslots {
delivery_date
row_heading
slots {
disabled
slot_id
slot_value
slot_value_html
}
}
timeslotTableLabel
}
}
}

 

 

Delivery date information for date picker or timeslot in Product Details page.

Query:
{
deliveryInformationAtProductPage(id: 1) {
productId
templateConfig {
useTemplate
deliverydateComments
deliverydateLabel
displayHtml
showHtml
}
general {
enabled
disabledDates
}
calendar {
options {
buttonImage
buttonText
interval
isRTL
maxDate
showAnim
showButtonPanel
showsTime
dateDisplayMode
getavailableDays {
disable_value
value
day_id
display_value
}
enableTimeSlotForCalendar
timeDisplayMode
deliverydateSlotLabel
imageUrl
}
}
timeslot {
enabled_timeslots {
delivery_date
row_heading
slots {
disabled
slot_id
slot_value
slot_value_html
}
}
timeslotTableLabel
}
}
}

 

 

 

Contact Us

We simplify your business, offer unique business solution in digital web and IT landscapes.

 

 

Live Chat

 

Get instant support with our Live Chat.

 

Visit our product page at: https://www.appjetty.com/magento2-delivery-date-scheduler.htmand click on the Live Chat button for instant support.

 

 

Tickets

Raise tickets for your specific question!

 

Send an email to [email protected] or you can login to your account @ appjetty.com and click on My Sup­port Tickets on your account dashboard, to get answers to your specific questions.

 

 

Customization:                                                                                                                                           

If you would like to customize or discuss about additional feature for Delivery Date Scheduler, please write to [email protected]