Skip to content

Calculate a DateTime by providing a start DateTime and a delivery duration in hours considering business hours, weekends and defined holidays.

License

Notifications You must be signed in to change notification settings

contoweb/delivery-calculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Delivery Calculator for Laravel

Calculate a DateTime by providing a start date-time and a duration in hours considering business hours, weekends and defined holidays.

Getting Started

The package is available on Packagist and GitHub:

Installing

With composer

composer require contoweb/delivery-calculator

Migrate holidays table

php artisan migrate

How to use

Load the class

use Contoweb\DeliveryCalculator\DeliveryCalculator;

Initialize business hours with start (eg. 05:45) and end time (eg. 23:00)

$deliveryCalculator = new DeliveryCalculator(5, 45, 23, 0);

Function 1: Calculate a delivery DateTime by given start DateTime (Carbon date) and the delivery duration (double in hours)

$deliveryDateTime = $deliveryCalculator->getDeliveryTime(Carbon::now(), $duration); 

Function 2: Given date (Carbon) is in business time?

$isBusinessTime = $deliveryCalculator->isBusinessTime(Carbon::now());

Define holidays

Enter a start_date (eg. 2017-12-24) and end_date (eg. 2017-12-26) into the holidays table to define holidays. For a single holiday just enter the same date for both fields.

Built With

Version

1.0

Authors

About

Calculate a DateTime by providing a start DateTime and a delivery duration in hours considering business hours, weekends and defined holidays.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages