SlotFlow API Documentation

TimelineShipmentPlanner
in package
implements ShipmentPlannerInterface

FinalYes

Builds shipments by walking the arrival timeline, applying consolidation windows and release policies.

Tags
experimental

The timed and demand-scheduling layer is unproven against a real workload: tested and documented, but not yet validated by a production consumer, so its shape is expected to change once one exists. Pin an exact version if you build on it. The execution engine carries no such caveat.

Table of Contents

Interfaces

ShipmentPlannerInterface
Builds shipment plans from per-line demand schedules.

Methods

context()  : DemandReleaseContext
Build one release-policy context for the given planning moment.
plan()  : array<int, DemandShipment>
Build planned shipments from the provided per-line schedules.
applyShipmentCalendarRule()  : int
releaseAtCandidateTime()  : void
releaseTime()  : int
validateReleaseTime()  : int

Methods

context()

Build one release-policy context for the given planning moment.

public context(DemandScheduleRequest $request, array<int, DemandLineSchedule$lineSchedules, int $time, bool $finalEvaluation, array<string, int|float> $availableBySubject, array<string, int|float> $shippedBySubject, array<int, DemandShipment$shipments) : DemandReleaseContext
Parameters
$request : DemandScheduleRequest
$lineSchedules : array<int, DemandLineSchedule>
$time : int
$finalEvaluation : bool
$availableBySubject : array<string, int|float>
$shippedBySubject : array<string, int|float>
$shipments : array<int, DemandShipment>
Attributes
#[Override]
Return values
DemandReleaseContext

releaseAtCandidateTime()

private releaseAtCandidateTime(DemandScheduleRequest $request, array<int, DemandLineSchedule$lineSchedules, int $candidateTime, bool $finalEvaluation, array<string, int|float> &$availableBySubject, array<string, int|float> &$shippedBySubject, array<int, DemandShipment&$shipments) : void
Parameters
$request : DemandScheduleRequest
$lineSchedules : array<int, DemandLineSchedule>
$candidateTime : int
$finalEvaluation : bool
$availableBySubject : array<string, int|float>
$shippedBySubject : array<string, int|float>
$shipments : array<int, DemandShipment>

validateReleaseTime()

private validateReleaseTime(int $releaseTime, int $minimumTime) : int
Parameters
$releaseTime : int
$minimumTime : int
Return values
int
On this page

Search results