DemandScheduleRequest
in package
Immutable request for multi-line demand scheduling.
Table of Contents
Properties
- $consolidationWindow : int
- Time window to hold arrivals for possible shipment consolidation before policy evaluation.
- $demand : Demand
- Multi-line demand to schedule.
- $flow : Flow|string
- Default flow applied to lines that do not override it.
- $params : array<string, string>
- $releasePolicy : DemandReleasePolicyInterface
- Order-level release policy used to turn line schedules into shipments.
- $shipmentCalendar : ShipmentCalendarInterface|null
- Optional order-level calendar used to adjust shipment release times.
- $shipmentPlanner : ShipmentPlannerInterface
- Shipment planner used to convert arrivals into planned shipments.
- $space : SlotSpace
- Slot space shared by all demand lines.
- $startTime : int
- Start time for the whole demand scheduling run, normalized to the space time axis.
- $statesBySubjectKey : array<string, QuantityState>
- $target : Slot|string
- Default target slot applied to lines that do not override it.
Methods
- __construct() : mixed
- Create one order-level demand scheduling request.
Properties
$consolidationWindow read-only
Time window to hold arrivals for possible shipment consolidation before policy evaluation.
public
int
$consolidationWindow
$demand read-only
Multi-line demand to schedule.
public
Demand
$demand
$flow read-only
Default flow applied to lines that do not override it.
public
Flow|string
$flow
$params read-only
public
array<string, string>
$params
Default flow params shared by every line.
$releasePolicy read-only
Order-level release policy used to turn line schedules into shipments.
public
DemandReleasePolicyInterface
$releasePolicy
$shipmentCalendar read-only
Optional order-level calendar used to adjust shipment release times.
public
ShipmentCalendarInterface|null
$shipmentCalendar
$shipmentPlanner read-only
Shipment planner used to convert arrivals into planned shipments.
public
ShipmentPlannerInterface
$shipmentPlanner
$space read-only
Slot space shared by all demand lines.
public
SlotSpace
$space
$startTime read-only
Start time for the whole demand scheduling run, normalized to the space time axis.
public
int
$startTime
$statesBySubjectKey read-only
public
array<string, QuantityState>
$statesBySubjectKey
Current per-subject inventory keyed by subject key.
$target read-only
Default target slot applied to lines that do not override it.
public
Slot|string
$target
Methods
__construct()
Create one order-level demand scheduling request.
public
__construct(Demand $demand, SlotSpace $space, Flow|non-empty-string $flow, Slot|non-empty-string $target[, array<string, QuantityState> $statesBySubjectKey = [] ][, DateTimeImmutable|int|string $startTime = 0 ][, array<string, scalar|null> $params = [] ][, DemandReleasePolicyInterface|null $releasePolicy = null ][, ShipmentPlannerInterface|null $shipmentPlanner = null ][, ShipmentCalendarInterface|null $shipmentCalendar = null ][, int $consolidationWindow = 0 ]) : mixed
Parameters
- $demand : Demand
- $space : SlotSpace
- $flow : Flow|non-empty-string
- $target : Slot|non-empty-string
- $statesBySubjectKey : array<string, QuantityState> = []
- $startTime : DateTimeImmutable|int|string = 0
- $params : array<string, scalar|null> = []
- $releasePolicy : DemandReleasePolicyInterface|null = null
- $shipmentPlanner : ShipmentPlannerInterface|null = null
- $shipmentCalendar : ShipmentCalendarInterface|null = null
- $consolidationWindow : int = 0