contoweb/delivery-calculator

Delivery calculator for Laravel to calculate a date time by providing the start date time and a duration in hours

v1.1.2 2022-02-14 09:27 UTC

This package is auto-updated.

Last update: 2024-08-21 16:39:52 UTC


README

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