Files
core/src/Shipping/Contracts/CarrierFulfillmentInterface.php
T

26 lines
654 B
PHP
Raw Normal View History

<?php
namespace Modules\Core\Shipping\Contracts;
use Lunar\Models\Order;
2026-07-19 18:27:24 +03:00
use Modules\Core\Shipping\DataTransferObjects\ShipmentRequest;
use Modules\Core\Shipping\Models\Shipment;
interface CarrierFulfillmentInterface
{
/**
* Create a shipment with the carrier for the given order.
*/
2026-07-19 18:27:24 +03:00
public function createShipment(Order $order, ShipmentRequest $request): Shipment;
/**
* Fetch the printable label for a shipment (raw file bytes).
*/
public function printLabel(Shipment $shipment): string;
/**
* Cancel a shipment with the carrier.
*/
public function cancelShipment(Shipment $shipment): void;
}