class WorkingSchedule

Properties

protected $type
protected $timezone
protected WorkingPeriod[] $periods
protected WorkingPeriod[] $exceptions
protected $minDays
protected $maxDays

Methods

__construct(null $timezone = null, int|array $days = 5)

No description

static WorkingSchedule
create($days, $periods, array $exceptions = [])

No description

fill($data)

No description

setType($type)

No description

setNow(DateTime $now)

No description

setTimezone($timezone)

No description

getType()

No description

minDays()

No description

days()

No description

array
exceptions()

No description

forDay(string $day)

No description

forDate(DateTimeInterface $date)

No description

isOpen()

No description

isOpening()

No description

isClosed()

No description

bool
isOpenOn(string $day)

No description

bool
isClosedOn(string $day)

No description

bool
isOpenAt(DateTimeInterface $dateTime)

No description

bool
isClosedAt(DateTimeInterface $dateTime)

No description

nextOpenAt(DateTimeInterface $dateTime)

No description

nextCloseAt(DateTimeInterface $dateTime)

Returns the next closed time.

getPeriod(DateTime|null $dateTime = null)

No description

getPeriods()

No description

getOpenTime($format = null)

No description

getCloseTime($format = null)

No description

string
checkStatus($dateTime = null)

No description

Collection
getTimeslot(int $interval = 15, DateTime $dateTime = null, int $leadTimeMinutes = 25)

No description

generateTimeslot(DateTime $date, DateInterval $interval, DateInterval|null $leadTime = null)

No description

setPeriods(array $periods)

No description

setExceptions(array $exceptions)

No description

parseDate($start = null)

No description

parsePeriods($periods)

No description

applyTimezone(DateTimeInterface $date)

No description

isTimeslotValid(DateTimeInterface $timeslot, DateTimeInterface $dateTime, int $leadTimeMinutes)

No description

hasPeriod()

No description

createPeriodForDays($dateTime)

No description

isBetweenPeriodForDays($timeslot)

No description

Details

at line 41
__construct(null $timezone = null, int|array $days = 5)

No description

Parameters

null $timezone
int|array $days

at line 74
static WorkingSchedule create($days, $periods, array $exceptions = [])

No description

Parameters

$days
$periods
array $exceptions

Return Value

WorkingSchedule

$periods = [ [ 'day' => 'monday', 'open' => '09:00', 'close' => '12:00' ], [ 'day' => 'monday', 'open' => '09:00', 'close' => '12:00' ], 'wednesday' => [ ['09:00', '12:00'], ['09:00', '12:00'] ] ];

at line 82
fill($data)

No description

Parameters

$data

at line 93
setType($type)

No description

Parameters

$type

at line 100
setNow(DateTime $now)

No description

Parameters

DateTime $now

at line 107
setTimezone($timezone)

No description

Parameters

$timezone

at line 112
getType()

No description

at line 117
minDays()

No description

at line 122
days()

No description

at line 127
array exceptions()

No description

Return Value

array

at line 141
WorkingPeriod forDay(string $day)

No description

Parameters

string $day

Return Value

WorkingPeriod

Exceptions

WorkingHourException

at line 152
WorkingPeriod forDate(DateTimeInterface $date)

No description

Parameters

DateTimeInterface $date

Return Value

WorkingPeriod

at line 161
isOpen()

No description

at line 166
isOpening()

No description

at line 171
isClosed()

No description

at line 176
bool isOpenOn(string $day)

No description

Parameters

string $day

Return Value

bool

at line 181
bool isClosedOn(string $day)

No description

Parameters

string $day

Return Value

bool

at line 186
bool isOpenAt(DateTimeInterface $dateTime)

No description

Parameters

DateTimeInterface $dateTime

Return Value

bool

at line 201
bool isClosedAt(DateTimeInterface $dateTime)

No description

Parameters

DateTimeInterface $dateTime

Return Value

bool

at line 206
nextOpenAt(DateTimeInterface $dateTime)

No description

Parameters

DateTimeInterface $dateTime

at line 240
DateTimeInterface nextCloseAt(DateTimeInterface $dateTime)

Returns the next closed time.

Parameters

DateTimeInterface $dateTime

Return Value

DateTimeInterface

at line 274
WorkingPeriod getPeriod(DateTime|null $dateTime = null)

No description

Parameters

DateTime|null $dateTime

Return Value

WorkingPeriod

at line 279
getPeriods()

No description

at line 284
getOpenTime($format = null)

No description

Parameters

$format

at line 291
getCloseTime($format = null)

No description

Parameters

$format

at line 303
string checkStatus($dateTime = null)

No description

Parameters

$dateTime

Return Value

string

at line 326
Collection getTimeslot(int $interval = 15, DateTime $dateTime = null, int $leadTimeMinutes = 25)

No description

Parameters

int $interval
DateTime $dateTime
int $leadTimeMinutes

Return Value

Collection

Exceptions

Exception

at line 356
generateTimeslot(DateTime $date, DateInterval $interval, DateInterval|null $leadTime = null)

No description

Parameters

DateTime $date
DateInterval $interval
DateInterval|null $leadTime

at line 373
setPeriods(array $periods)

No description

Parameters

array $periods

at line 380
setExceptions(array $exceptions)

No description

Parameters

array $exceptions

at line 387
protected parseDate($start = null)

No description

Parameters

$start

at line 401
protected parsePeriods($periods)

No description

Parameters

$periods

at line 425
protected applyTimezone(DateTimeInterface $date)

No description

Parameters

DateTimeInterface $date

at line 433
protected isTimeslotValid(DateTimeInterface $timeslot, DateTimeInterface $dateTime, int $leadTimeMinutes)

No description

Parameters

DateTimeInterface $timeslot
DateTimeInterface $dateTime
int $leadTimeMinutes

at line 453
protected hasPeriod()

No description

at line 468
protected createPeriodForDays($dateTime)

No description

Parameters

$dateTime

at line 485
protected isBetweenPeriodForDays($timeslot)

No description

Parameters

$timeslot