Passed
Push — main ( 098d60...1e91ce )
by Aleksandr
09:01
created

IntervalsRequest::getTown()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace DalliSDK\Requests;
6
7
use DalliSDK\Responses\IntervalsResponse;
8
use JMS\Serializer\Annotation as JMS;
9
10
/**
11
 * Запрос интервалов доставки
12
 *
13
 * @see https://api.dalli-service.com/v1/doc/intervals
14
 * @JMS\XmlRoot("intervals")
15
 */
16
class IntervalsRequest extends AbstractRequest implements RequestInterface
17
{
18
    public const RESPONSE_CLASS = IntervalsResponse::class;
19
20
    /**
21
     * Зона, интервалы которой, вы хотите получить
22
     *
23
     * @JMS\Type("int")
24
     * @JMS\SerializedName("zone")
25
     */
26
    private ?int $zone;
27
28
    /**
29
     * Название города, интервалы которого, вы хотите получить. Работает только для региональной доставки (service 22)
30
     *
31
     * @JMS\Type("string")
32
     * @JMS\SerializedName("town")
33
     */
34
    private ?string $town;
35
36
    /**
37
     * ФИАС города, в котором доступен интервал. Работает только для региональной доставки (service 22)
38
     *
39
     * @JMS\Type("string")
40
     */
41
    private ?string $fias = null;
42
43
    /**
44
     * Тип доставки, интервалы которого, вы хотите получить. (по умолчанию - внутригородская доставка)
45
     *
46
     * @JMS\Type("int")
47
     * @JMS\SerializedName("service")
48
     */
49
    private ?int $service;
50
51
    /**
52
     * Дата доставки заказа в формате yyyy-mm-dd. Используется при смене интервалов,
53
     * чтобы отображать актуальные интервалы для выбранной даты доставки.
54
     * (по умолчанию - сегодня для экспресс, завтра для остальных)
55
     *
56
     * @JMS\Type("DateTime<'Y-m-d'>")
57
     * @JMS\SerializedName("date")
58
     */
59
    private ?\DateTimeInterface $date;
60
61 2
    public function __construct(?int $zone = null, ?int $service = null, ?string $town = null, ?string $fias = null, ?\DateTimeInterface $date = null)
62
    {
63 2
        $this->service = $service;
64 2
        $this->zone = $zone;
65 2
        $this->town = $town;
66 2
        $this->fias = $fias;
67 2
        $this->date = $date;
68
    }
69
70
    /**
71
     * @return int|null
72
     */
73 2
    public function getZone(): ?int
74
    {
75 2
        return $this->zone;
76
    }
77
78
    /**
79
     * @return string|null
80
     */
81 2
    public function getTown(): ?string
82
    {
83 2
        return $this->town;
84
    }
85
86
    /**
87
     * @return string|null
88
     */
89 2
    public function getFias(): ?string
90
    {
91 2
        return $this->fias;
92
    }
93
94
    /**
95
     * @return int|null
96
     */
97 2
    public function getService(): ?int
98
    {
99 2
        return $this->service;
100
    }
101
102
    /**
103
     * @return \DateTimeInterface|null
104
     */
105 2
    public function getDate(): ?\DateTimeInterface
106
    {
107 2
        return $this->date;
108
    }
109
}
110