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\Budgets\Model;
12:
13: class CreateBudgetRequest 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: Name for the Budget.
26:
27: *
28: * @var string
29: */
30: protected $name;
31: /**
32: Description of what the Budget is used for.
33:
34: *
35: * @var string
36: */
37: protected $description;
38: /**
39: ID of parent Budget.
40:
41: *
42: * @var string|null
43: */
44: protected $parentBudgetId;
45: /**
46: User IDs of the owners of the Budget.
47:
48: *
49: * @var string[]|null
50: */
51: protected $ownerUserIds;
52: /**
53: User IDs of the members of the Budget.
54:
55: *
56: * @var string[]|null
57: */
58: protected $memberUserIds;
59: /**
60: Period type of the Budget e.g. MONTHLY.
61:
62: *
63: * @var string
64: */
65: protected $periodType;
66: /**
67: 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
68: of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.
69:
70: *
71: * @var Money
72: */
73: protected $limit;
74: /**
75: Whether the Budget limit blocks spend.
76:
77: *
78: * @var string
79: */
80: protected $limitType;
81: /**
82: Whether this Budget only can be spent from by cards provisioned by this Budget.
83:
84: *
85: * @var string
86: */
87: protected $spendType;
88: /**
89: The UTC date when the Budget should start counting.
90:
91: *
92: * @var \DateTime|null
93: */
94: protected $startDate;
95: /**
96: The UTC date when the Budget should stop counting.
97:
98: *
99: * @var \DateTime|null
100: */
101: protected $endDate;
102:
103: /**
104: Name for the Budget.
105: */
106: public function getName(): string
107: {
108: return $this->name;
109: }
110:
111: /**
112: Name for the Budget.
113: */
114: public function setName(string $name): self
115: {
116: $this->initialized['name'] = true;
117: $this->name = $name;
118:
119: return $this;
120: }
121:
122: /**
123: Description of what the Budget is used for.
124: */
125: public function getDescription(): string
126: {
127: return $this->description;
128: }
129:
130: /**
131: Description of what the Budget is used for.
132: */
133: public function setDescription(string $description): self
134: {
135: $this->initialized['description'] = true;
136: $this->description = $description;
137:
138: return $this;
139: }
140:
141: /**
142: ID of parent Budget.
143: */
144: public function getParentBudgetId(): ?string
145: {
146: return $this->parentBudgetId;
147: }
148:
149: /**
150: ID of parent Budget.
151: */
152: public function setParentBudgetId(?string $parentBudgetId): self
153: {
154: $this->initialized['parentBudgetId'] = true;
155: $this->parentBudgetId = $parentBudgetId;
156:
157: return $this;
158: }
159:
160: /**
161: User IDs of the owners of the Budget.
162:
163: *
164: * @return string[]|null
165: */
166: public function getOwnerUserIds(): ?array
167: {
168: return $this->ownerUserIds;
169: }
170:
171: /**
172: User IDs of the owners of the Budget.
173:
174: *
175: * @param string[]|null $ownerUserIds
176: */
177: public function setOwnerUserIds(?array $ownerUserIds): self
178: {
179: $this->initialized['ownerUserIds'] = true;
180: $this->ownerUserIds = $ownerUserIds;
181:
182: return $this;
183: }
184:
185: /**
186: User IDs of the members of the Budget.
187:
188: *
189: * @return string[]|null
190: */
191: public function getMemberUserIds(): ?array
192: {
193: return $this->memberUserIds;
194: }
195:
196: /**
197: User IDs of the members of the Budget.
198:
199: *
200: * @param string[]|null $memberUserIds
201: */
202: public function setMemberUserIds(?array $memberUserIds): self
203: {
204: $this->initialized['memberUserIds'] = true;
205: $this->memberUserIds = $memberUserIds;
206:
207: return $this;
208: }
209:
210: /**
211: Period type of the Budget e.g. MONTHLY.
212: */
213: public function getPeriodType(): string
214: {
215: return $this->periodType;
216: }
217:
218: /**
219: Period type of the Budget e.g. MONTHLY.
220: */
221: public function setPeriodType(string $periodType): self
222: {
223: $this->initialized['periodType'] = true;
224: $this->periodType = $periodType;
225:
226: return $this;
227: }
228:
229: /**
230: 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
231: of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.
232: */
233: public function getLimit(): Money
234: {
235: return $this->limit;
236: }
237:
238: /**
239: 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
240: of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.
241: */
242: public function setLimit(Money $limit): self
243: {
244: $this->initialized['limit'] = true;
245: $this->limit = $limit;
246:
247: return $this;
248: }
249:
250: /**
251: Whether the Budget limit blocks spend.
252: */
253: public function getLimitType(): string
254: {
255: return $this->limitType;
256: }
257:
258: /**
259: Whether the Budget limit blocks spend.
260: */
261: public function setLimitType(string $limitType): self
262: {
263: $this->initialized['limitType'] = true;
264: $this->limitType = $limitType;
265:
266: return $this;
267: }
268:
269: /**
270: Whether this Budget only can be spent from by cards provisioned by this Budget.
271: */
272: public function getSpendType(): string
273: {
274: return $this->spendType;
275: }
276:
277: /**
278: Whether this Budget only can be spent from by cards provisioned by this Budget.
279: */
280: public function setSpendType(string $spendType): self
281: {
282: $this->initialized['spendType'] = true;
283: $this->spendType = $spendType;
284:
285: return $this;
286: }
287:
288: /**
289: The UTC date when the Budget should start counting.
290: */
291: public function getStartDate(): ?\DateTime
292: {
293: return $this->startDate;
294: }
295:
296: /**
297: The UTC date when the Budget should start counting.
298: */
299: public function setStartDate(?\DateTime $startDate): self
300: {
301: $this->initialized['startDate'] = true;
302: $this->startDate = $startDate;
303:
304: return $this;
305: }
306:
307: /**
308: The UTC date when the Budget should stop counting.
309: */
310: public function getEndDate(): ?\DateTime
311: {
312: return $this->endDate;
313: }
314:
315: /**
316: The UTC date when the Budget should stop counting.
317: */
318: public function setEndDate(?\DateTime $endDate): self
319: {
320: $this->initialized['endDate'] = true;
321: $this->endDate = $endDate;
322:
323: return $this;
324: }
325: }
326: