As of AspDotNetStorefront version 10.0.18 the storefront now offers real-time shipping methods that show the delivery date instead of (or in addition to) the carrier and service at checkout.
Configuring delivery date shipping
Your store must use real-time shipping, and be configured to use FedEx, USPS, UPS, or UPS2. You will configure the Settings to indicate how long it takes you to process orders and what days and dates you do not process orders. This will allow the store to calculate a ship date to provide to the real-time shipping provider(s) so they can provide a delivery date. You will also configure how you would like the delivery date shipping methods displayed.
From the Configuration menu click Settings.
Search for "RTShipping.OrderProcessing.Days" - The number of days from the time of placing an order to the product being shipped. Enter a number of days, such as 3.
Search for "RTShipping.OrderProcessing.CutoffTime" - When an order is placed after this time, the number of order processing days is increased by one day. This would be the time that you stop processing orders for the day. Enter a valid time, such a 3:00PM.
Search for "RTShipping.OrderProcessing.ExcludedOrderProcessingDays" - Days of the week you do not process orders, such as Saturday and Sunday. Check which days you do not process orders.
Search for "RTShipping.OrderProcessing.ExcludedOrderProcessingDates" - Dates you do not process orders, such as Christmas Eve and Christmas Day you would enter "12/24/2019,12/25/2019". Format is MM/DD/YYYY , separated by commas.
The following settings are used when the real-time shipping carriers do not return delivery dates for a service (shipping method)
Search for "RTShipping.ShippingMethods.DeliveryDate.MaxDays" - The maximum number of transit days for a product to be delivered once shipped. This number will be used to calculate the delivery date by adding the number of days entered to the expected ship date. Enter a number of days such as 2.
Search for "RTShipping.ShippingMethods.DeliveryDate.ExcludedTransitDays" - Days that will be excluded from transit time, such as Saturday and Sunday. Check which days the shipment will not be in transit.
Search for "RTShipping.ShippingMethods.DeliveryDate.ExcludedTransitDates" - Dates that will be excluded from transit time, such as on Christmas Eve and Christmas Day you would enter "12/24/2019,12/25/2019" Format is MM/DD/YYYY , separated by commas.
With these settings AspDotNetStorefront takes the order processing days, order processing exclusions, and cut-off time and provides this to the real-time shipping provider(s) as a ship date. Then the real-time shipping provider calculates a delivery date for display with the rate. If no delivery date is provided for a particular service, the order processing days, order processing exclusions, max transit days, transit exclusions, and cut-off time are used to calculate a delivery date.
NOTE: This is an approximate delivery date, and should be considered the maximum expected time possible before delivery.
Now that delivery date shipping has been configured for calculating ship dates, you can configure when and how it displays.
Search for "RTShipping.ShippingMethods.DisplayOption" - Determines how real-time shipping services (ship methods) are displayed in checkout.
CarrierAndService is the default option, and is how real-time services are currently displayed in AspDotNetStorefront.
DeliveryDate switches the display to be delivery date and rate, using the settings above to determine a ship date.
DeliveryDateWithCarrierAndService displays the carrier and service, along with the delivery date and rate.
Search for "RTShipping.SortBy" - Determines in which order the real-time services are displayed. The options are by "Rate", "Carrier", or "DeliveryDate".
When using Delivery Date display, you can choose "DeliveryDate" and the services will be sorted by date, from longest to shortest.
When using Carrier and Service display, "Rate" and "Carrier" are the available options.
Search for "RTShipping.ShippingMethods.DeliveryDate.FilterOption" - Allows you to change how many shipping services are displayed per delivery date.
AllServicesForDay - All services are displayed from all carriers for all delivery dates.
LeastExpensiveForDay or MostExpensiveForDay - Limits services to one service per day, either the least or most expensive service available.
NOTES: - All other real-time shipping Settings apply as normal.
- If you wish to change the header that displays above the delivery date shipping methods, edit the Prompt "checkout.shippingmethod.deliverydate.delivered-on.header".
- Delivery Date Shipping will not be used if the origin address and the ship-to address are in different countries. In such cases the default carrier and service display will be used instead.
- Currently Delivery Date Shipping is supported in the United States and Canada only.