1
0
mirror of synced 2025-01-09 18:47:12 +03:00
DeliveryModuleBundle/Service/ModuleManagerInterface.php

51 lines
1.7 KiB
PHP
Raw Normal View History

2019-12-26 17:47:33 +03:00
<?php
namespace RetailCrm\DeliveryModuleBundle\Service;
use RetailCrm\ApiClient;
use RetailCrm\DeliveryModuleBundle\Model\Entity\Account;
use RetailCrm\DeliveryModuleBundle\Model\Entity\DeliveryOrder;
use RetailCrm\DeliveryModuleBundle\Model\RequestCalculate;
use RetailCrm\DeliveryModuleBundle\Model\RequestDelete;
use RetailCrm\DeliveryModuleBundle\Model\RequestPrint;
use RetailCrm\DeliveryModuleBundle\Model\RequestSave;
use RetailCrm\DeliveryModuleBundle\Model\RequestShipmentDelete;
use RetailCrm\DeliveryModuleBundle\Model\RequestShipmentPointList;
use RetailCrm\DeliveryModuleBundle\Model\RequestShipmentSave;
use RetailCrm\DeliveryModuleBundle\Model\ResponseSave;
use RetailCrm\DeliveryModuleBundle\Model\ResponseShipmentSave;
interface ModuleManagerInterface
{
const STATUS_UPDATE_LIMIT = 100;
public function getAccountCode(): string;
public function getAccount(): ?Account;
public function setAccount(Account $account): self;
public function updateModuleConfiguration(): bool;
public function calculateDelivery(RequestCalculate $data): array;
public function saveDelivery(RequestSave $data, DeliveryOrder $delivery = null): ResponseSave;
public function deleteDelivery(RequestDelete $request, DeliveryOrder $delivery): bool;
/**
* @return \RetailCrm\DeliveryModuleBundle\Model\Terminal[]
*/
public function shipmentPointList(RequestShipmentPointList $request): array;
public function saveShipment(RequestShipmentSave $data): ResponseShipmentSave;
public function deleteShipment(RequestShipmentDelete $request): bool;
public function printDocument(RequestPrint $request);
public function updateStatuses(): int;
public function getRetailCrmClient(): ApiClient;
}