Feat: Shipping functionalities redesign, elta courier integration, commenting out acs since no integration can happen, flow updates

This commit is contained in:
2026-09-30 17:28:47 +03:00
parent f411dec1da
commit 49ec4333af
63 changed files with 3143 additions and 347 deletions
+47
View File
@@ -0,0 +1,47 @@
<?php
namespace Modules\Core\Shipping\Enums;
/**
* Extra carrier services, normalized: "Saturday delivery" is the same case
* whatever code each carrier uses for it. A carrier declares which ones it
* offers and maps them to its own codes via
* Modules\Core\Shipping\Contracts\SupportsExtraServices. Staff pick them
* per shipment; customers never see them.
*/
enum ExtraService: string
{
case SaturdayDelivery = 'saturday_delivery';
case MorningDelivery = 'morning_delivery';
/** Delivery by a set time / within a time slot. */
case TimedDelivery = 'timed_delivery';
case SameDayDelivery = 'same_day_delivery';
case Insurance = 'insurance';
case SpecialHandling = 'special_handling';
case ReturnDocuments = 'return_documents';
case RemoteArea = 'remote_area';
case Protocol = 'protocol';
case Refrigerated = 'refrigerated';
case ExchangePackage = 'exchange_package';
/**
* Admin-facing only (staff pick these), so plain English like the rest
* of the admin UI.
*/
public function label(): string
{
return match ($this) {
self::SaturdayDelivery => 'Saturday delivery',
self::MorningDelivery => 'Morning delivery',
self::TimedDelivery => 'Timed delivery',
self::SameDayDelivery => 'Same-day delivery',
self::Insurance => 'Insurance',
self::SpecialHandling => 'Special handling',
self::ReturnDocuments => 'Return documents',
self::RemoteArea => 'Remote area',
self::Protocol => 'Protocol',
self::Refrigerated => 'Refrigerated',
self::ExchangePackage => 'Exchange package',
};
}
}