22 lines
550 B
PHP
22 lines
550 B
PHP
<?php
|
|
|
|
namespace Modules\Core\Shipping\Contracts;
|
|
|
|
use Modules\Core\Shipping\Enums\ExtraService;
|
|
|
|
/**
|
|
* A carrier that offers extra services (Saturday delivery, insurance, …).
|
|
* Only the carrier knows its own codes — the rest of the app deals in the
|
|
* normalized ExtraService cases.
|
|
*/
|
|
interface SupportsExtraServices
|
|
{
|
|
/**
|
|
* The services this carrier offers, keyed by ExtraService value, each
|
|
* mapped to the carrier's own code.
|
|
*
|
|
* @return array<string, string>
|
|
*/
|
|
public function extraServices(): array;
|
|
}
|