21 lines
680 B
PHP
21 lines
680 B
PHP
<?php
|
|||
|
|
|
||
|
|
namespace Modules\Core\Shipping\DataTransferObjects;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Carrier-agnostic input for CarrierFulfillmentInterface::createShipment().
|
||
|
|
* Every field is optional — a carrier reads only what it needs and ignores
|
||
|
|
* the rest (e.g. destinationLocationId only matters to locker-delivery
|
||
|
|
* carriers like Box Now; ACS has no use for it).
|
||
|
|
*/
|
||
|
|
class ShipmentRequest
|
||
|
|
{
|
||
|
|
public function __construct(
|
||
|
|
public readonly ?float $weight = null,
|
||
|
|
public readonly int $packageCount = 1,
|
||
|
|
public readonly ?string $destinationLocationId = null,
|
||
|
|
public readonly ?string $paymentMode = null,
|
||
|
|
public readonly ?float $amountToCollect = null,
|
||
|
|
) {}
|
||
|
|
}
|