1: <?php
2:
3: declare(strict_types=1);
4:
5: /*
6: * This file has been auto generated by Jane,
7: *
8: * Do no edit it directly.
9: */
10:
11: namespace NxSys\Library\Clients\Brex\API\Team\Model;
12:
13: class SpendControlRequest extends \ArrayObject
14: {
15: /**
16: * @var array
17: */
18: protected $initialized = [];
19:
20: public function isInitialized($property): bool
21: {
22: return array_key_exists($property, $this->initialized);
23: }
24: /**
25: Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination
26: of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.
27:
28: *
29: * @var Money
30: */
31: protected $spendLimit;
32: /**
33: Spend limit refresh frequency
34: - MONTHLY: The spend limit refreshes every month
35: - QUARTERLY: The spend limit refreshes every quarter
36: - YEARLY: The spend limit refreshes every year
37: - ONE_TIME: The limit does not refresh
38:
39: *
40: * @var string
41: */
42: protected $spendDuration;
43: /**
44: * @var string|null
45: */
46: protected $reason;
47: /**
48: * @var \DateTime|null
49: */
50: protected $lockAfterDate;
51:
52: /**
53: Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination
54: of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.
55: */
56: public function getSpendLimit(): Money
57: {
58: return $this->spendLimit;
59: }
60:
61: /**
62: Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination
63: of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.
64: */
65: public function setSpendLimit(Money $spendLimit): self
66: {
67: $this->initialized['spendLimit'] = true;
68: $this->spendLimit = $spendLimit;
69:
70: return $this;
71: }
72:
73: /**
74: Spend limit refresh frequency
75: - MONTHLY: The spend limit refreshes every month
76: - QUARTERLY: The spend limit refreshes every quarter
77: - YEARLY: The spend limit refreshes every year
78: - ONE_TIME: The limit does not refresh
79: */
80: public function getSpendDuration(): string
81: {
82: return $this->spendDuration;
83: }
84:
85: /**
86: Spend limit refresh frequency
87: - MONTHLY: The spend limit refreshes every month
88: - QUARTERLY: The spend limit refreshes every quarter
89: - YEARLY: The spend limit refreshes every year
90: - ONE_TIME: The limit does not refresh
91: */
92: public function setSpendDuration(string $spendDuration): self
93: {
94: $this->initialized['spendDuration'] = true;
95: $this->spendDuration = $spendDuration;
96:
97: return $this;
98: }
99:
100: public function getReason(): ?string
101: {
102: return $this->reason;
103: }
104:
105: public function setReason(?string $reason): self
106: {
107: $this->initialized['reason'] = true;
108: $this->reason = $reason;
109:
110: return $this;
111: }
112:
113: public function getLockAfterDate(): ?\DateTime
114: {
115: return $this->lockAfterDate;
116: }
117:
118: public function setLockAfterDate(?\DateTime $lockAfterDate): self
119: {
120: $this->initialized['lockAfterDate'] = true;
121: $this->lockAfterDate = $lockAfterDate;
122:
123: return $this;
124: }
125: }
126: