118 lines
3.1 KiB
PHP
118 lines
3.1 KiB
PHP
|
<?php
|
|||
|
|
|||
|
namespace RetailCrm\DeliveryModuleBundle\Model;
|
|||
|
|
|||
|
use Symfony\Component\Validator\Mapping\ClassMetadata;
|
|||
|
use Symfony\Component\Validator\Constraints as Assert;
|
|||
|
use JMS\Serializer\Annotation as Serializer;
|
|||
|
|
|||
|
use Intaro\CRMApiBundle\Validator\Constraints\DocSubEntity;
|
|||
|
use Intaro\CRMBundle\Entity\Model\DeliveryTime;
|
|||
|
use Intaro\CRMDeliveryBundle\Delivery\Generic\Generic;
|
|||
|
use RetailCrm\DeliveryModuleBundle\Model\Package;
|
|||
|
|
|||
|
class RequestCalculate
|
|||
|
{
|
|||
|
use Traits\ExtraDataTrait;
|
|||
|
|
|||
|
/**
|
|||
|
* Адрес отгрузки
|
|||
|
* @var RetailCrm\DeliveryModuleBundle\Model\DeliveryAddress
|
|||
|
*
|
|||
|
* @Serializer\Groups({"request", "calculate"})
|
|||
|
* @Serializer\SerializedName("shipmentAddress")
|
|||
|
* @Serializer\Type("RetailCrm\DeliveryModuleBundle\Model\DeliveryAddress")
|
|||
|
*/
|
|||
|
public $shipmentAddress;
|
|||
|
|
|||
|
/**
|
|||
|
* Адрес доставки
|
|||
|
* @var string
|
|||
|
*
|
|||
|
* @Serializer\Groups({"request", "calculate"})
|
|||
|
* @Serializer\SerializedName("deliveryAddress")
|
|||
|
* @Serializer\Type("RetailCrm\DeliveryModuleBundle\Model\DeliveryAddress")
|
|||
|
*/
|
|||
|
public $deliveryAddress;
|
|||
|
|
|||
|
/**
|
|||
|
* Набор упаковок
|
|||
|
* @var Intaro\CRMDeliveryBundle\Form\Model\Package
|
|||
|
*
|
|||
|
* @Serializer\Groups({"request", "calculate"})
|
|||
|
* @Serializer\SerializedName("packages")
|
|||
|
* @Serializer\Type("array<RetailCrm\DeliveryModuleBundle\Model\Package>")
|
|||
|
*/
|
|||
|
public $packages;
|
|||
|
|
|||
|
/**
|
|||
|
* Объявленная стоимость
|
|||
|
* @var float
|
|||
|
*
|
|||
|
* @Serializer\Groups({"request", "calculate"})
|
|||
|
* @Serializer\SerializedName("declaredValue")
|
|||
|
* @Serializer\Type("float")
|
|||
|
*/
|
|||
|
public $declaredValue;
|
|||
|
|
|||
|
/**
|
|||
|
* Наложенный платеж
|
|||
|
* @var float
|
|||
|
*
|
|||
|
* @Serializer\Groups({"request", "calculate"})
|
|||
|
* @Serializer\SerializedName("cod")
|
|||
|
* @Serializer\Type("float")
|
|||
|
*/
|
|||
|
public $cod;
|
|||
|
|
|||
|
/**
|
|||
|
* Плательщик за доставку
|
|||
|
* @var string
|
|||
|
*
|
|||
|
* @Serializer\Groups({"request", "calculate"})
|
|||
|
* @Serializer\SerializedName("payerType")
|
|||
|
* @Serializer\Type("string")
|
|||
|
*/
|
|||
|
public $payerType;
|
|||
|
|
|||
|
/**
|
|||
|
* Дата доставки
|
|||
|
* @var \DateTime $deliveryDate
|
|||
|
*
|
|||
|
* @Serializer\Groups({"request", "calculate"})
|
|||
|
* @Serializer\SerializedName("deliveryDate")
|
|||
|
* @Serializer\Type("DateTime<'Y-m-d'>")
|
|||
|
*/
|
|||
|
public $deliveryDate;
|
|||
|
|
|||
|
/**
|
|||
|
* Время доставки
|
|||
|
* @var DeliveryTime $deliveryTime
|
|||
|
*
|
|||
|
* @Serializer\Groups({"request", "calculate"})
|
|||
|
* @Serializer\SerializedName("deliveryTime")
|
|||
|
* @Serializer\Type("RetailCrm\DeliveryModuleBundle\Model\DeliveryTime")
|
|||
|
*/
|
|||
|
public $deliveryTime;
|
|||
|
|
|||
|
/**
|
|||
|
* Валюта
|
|||
|
* @var string $currency
|
|||
|
*
|
|||
|
* @Serializer\Groups({"request", "calculate"})
|
|||
|
* @Serializer\SerializedName("currency")
|
|||
|
* @Serializer\Type("string")
|
|||
|
*/
|
|||
|
public $currency;
|
|||
|
|
|||
|
/**
|
|||
|
* Дополнительные данные доставки
|
|||
|
* @var array
|
|||
|
*
|
|||
|
* @Serializer\Groups({"request", "calculate"})
|
|||
|
* @Serializer\SerializedName("extraData")
|
|||
|
* @Serializer\Type("array")
|
|||
|
*/
|
|||
|
public $extraData;
|
|||
|
}
|