-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathModuleManagerInterface.php
More file actions
52 lines (35 loc) · 1.76 KB
/
ModuleManagerInterface.php
File metadata and controls
52 lines (35 loc) · 1.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?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 checkAccess(): bool;
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;
}