1: <?php
2: namespace Hyperwallet\Model;
3:
4: /**
5: * Represents a V4 BusinessStakeholder
6: *
7: * @property string $token The BusinessStakeholder token
8: * @property bool $isBusinessContact The business contact
9: * @property bool $isDirector The Director
10: * @property bool $isUltimateBeneficialOwner The UltimateBeneficial Owner
11: * @property bool $isSeniorManagingOfficial The Senior Managing Official
12: * @property string $verificationStatus The status of Business user verification
13: * @property string $status The Business user status
14: * @property \DateTime $createdOn The Business user creation date
15: * @property string $profileType The profile type
16: * @property string $firstName The first name
17: * @property string $middleName The middle name
18: * @property string $lastName The last name
19: * @property \DateTime $dateOfBirth The date of birth
20: * @property string $countryOfBirth The country of birth
21: * @property string $countryOfNationality The country of nationality
22: * @property string $gender The gender
23: * @property string $phoneNumber The phone number
24: * @property string $mobileNumber The mobile number
25: * @property string $email The email
26: *
27: * @property string $governmentId The goverment id
28: * @property string $governmentIdType The goverment id Type
29: * @property string $driversLicenseId The drivers license id
30: *
31: * @property string $addressLine1 The address line 1
32: * @property string $addressLine2 The address line 2
33: * @property string $city The city
34: * @property string $stateProvince The state or province
35: * @property string $country The country
36: * @property string $postalCode The postal code
37: * @property HyperwalletVerificationDocumentCollection $documents The array of documents returned for document upload
38: *
39: * @package Hyperwallet\Model
40: */
41:
42: class BusinessStakeholder extends BaseModel {
43: /**
44: * @internal
45: *
46: * Read only fields
47: *
48: * @var string[]
49: */
50: private static $READ_ONLY_FIELDS = array('token', 'status', 'createdOn', 'documents');
51:
52: const STATUS_ACTIVATED = 'ACTIVATED';
53: const STATUS_DE_ACTIVATED = 'DE_ACTIVATED';
54:
55: const PROFILE_TYPE_INDIVIDUAL = 'INDIVIDUAL';
56:
57: const GENDER_MALE = 'MALE';
58: const GENDER_FEMALE = 'FEMALE';
59:
60: const VERIFICATION_STATUS_REQUIRED = 'REQUIRED';
61: const VERIFICATION_STATUS_NOT_REQUIRED = 'NOT_REQUIRED';
62: const VERIFICATION_STATUS_UNDER_REVIEW = 'UNDER_REVIEW';
63: const VERIFICATION_STATUS_VERIFIED = 'VERIFIED';
64: const VERIFICATION_STATUS_READY_FOR_REVIEW = 'READY_FOR_REVIEW';
65:
66: const GOVERNMENT_ID_TYPE_PASSPORT = 'PASSPORT';
67: const GOVERNMENT_ID_TYPE_NATIONAL_ID_CARD = 'NATIONAL_ID_CARD';
68: /**
69: * @var mixed|null
70: */
71: private $businessName;
72:
73: public static function FILTERS_ARRAY() {
74: return array('status', 'createdBefore', 'createdAfter', 'sortBy', 'limit');
75: }
76:
77: /**
78: * Creates a instance of BusinessStakeholder
79: *
80: * @param string[] $properties The default properties
81: */
82: public function __construct(array $properties = array()) {
83: parent::__construct(self::$READ_ONLY_FIELDS, $properties);
84: }
85:
86: /**
87: * Get the BusinessStakeholder token
88: *
89: * @return string
90: */
91: public function getToken() {
92: return $this->token;
93: }
94:
95: /**
96: * Set the BusinessStakeholder token
97: *
98: * @param string $token
99: * @return BusinessStakeholder
100: */
101: public function setToken($token) {
102: $this->token = $token;
103: return $this;
104: }
105:
106: /**
107: * Get the BusinessStakeholder Contact
108: *
109: * @return bool
110: */
111: public function getIsBusinessContact() {
112: return $this->isBusinessContact;
113: }
114: /**
115: * Set the BusinessStakeholder Contact
116: *
117: * @param bool $isBusinessContact
118:
119: * @return BusinessStakeholder
120: */
121: public function setIsBusinessContact($isBusinessContact) {
122: $this->isBusinessContact = $isBusinessContact;
123: return $this;
124: }
125:
126: /**
127: * Get the BusinessStakeholder Director
128: *
129: * @return bool
130: */
131: public function getIsDirector() {
132: return $this->isDirector;
133: }
134:
135: /**
136: * Set the BusinessStakeholder Director
137: *
138: * @param bool $isDirector
139:
140: * @return BusinessStakeholder
141: */
142: public function setIsDirector($isDirector) {
143: $this->isDirector = $isDirector;
144: return $this;
145: }
146:
147: /**
148: * Get the BusinessStakeholder Ultimate Beneficial Owner
149: *
150: * @return bool
151: */
152: public function getIsUltimateBeneficialOwner() {
153: return $this->isUltimateBeneficialOwner;
154: }
155:
156: /**
157: * Set the BusinessStakeholder Ultimate Beneficial Owner
158: *
159: * @param bool $isUltimateBeneficialOwner
160:
161: * @return BusinessStakeholder
162: */
163: public function setIsUltimateBeneficialOwner($isUltimateBeneficialOwner) {
164: $this->isUltimateBeneficialOwner = $isUltimateBeneficialOwner;
165: return $this;
166: }
167:
168: /**
169: * Get the BusinessStakeholder Senior Managing Official
170: *
171: * @return bool
172: */
173: public function getIsSeniorManagingOfficial() {
174: return $this->isSeniorManagingOfficial;
175: }
176:
177: /**
178: * Set the BusinessStakeholder Senior Managing Official
179: *
180: * @param bool $isSeniorManagingOfficial
181:
182: * @return BusinessStakeholder
183: */
184: public function setIsSeniorManagingOfficial($isSeniorManagingOfficial) {
185: $this->isSeniorManagingOfficial = $isSeniorManagingOfficial;
186: return $this;
187: }
188:
189: /**
190: * Get the BusinessStakeholder verification status
191: *
192: * @return string
193: */
194: public function getVerificationStatus() {
195: return $this->verificationStatus;
196: }
197:
198: /**
199: * Set the BusinessStakeholder verification status
200: *
201: * @param string $verificationStatus
202: * @return BusinessStakeholder
203: */
204: public function setVerificationStatus($verificationStatus) {
205: $this->verificationStatus = $verificationStatus;
206: return $this;
207: }
208:
209: /**
210: * Get the BusinessStakeholder status
211: *
212: * @return string
213: */
214: public function getStatus() {
215: return $this->status;
216: }
217:
218: /**
219: * Get the BusinessStakeholder creation time
220: *
221: * @return \DateTime
222: */
223: public function getCreatedOn() {
224: return $this->createdOn ? new \DateTime($this->createdOn) : null;
225: }
226:
227:
228: /**
229: * Get the profile type
230: *
231: * @return string
232: */
233: public function getProfileType() {
234: return $this->profileType;
235: }
236:
237: /**
238: * Set the profile type
239: *
240: * @param string $profileType
241: * @return BusinessStakeholder
242: */
243: public function setProfileType($profileType) {
244: $this->profileType = $profileType;
245: return $this;
246: }
247:
248: /**
249: * Get the business name
250: *
251: * @return string
252: */
253: public function getBusinessName() {
254: return $this->businessName;
255: }
256:
257: /**
258: * Get the first name
259: *
260: * @return string
261: */
262: public function getFirstName() {
263: return $this->firstName;
264: }
265:
266: /**
267: * Set the first name
268: *
269: * @param string $firstName
270: * @return BusinessStakeholder
271: */
272: public function setFirstName($firstName) {
273: $this->firstName = $firstName;
274: return $this;
275: }
276:
277: /**
278: * Get the middle name
279: *
280: * @return string
281: */
282: public function getMiddleName() {
283: return $this->middleName;
284: }
285:
286: /**
287: * Set the middle name
288: *
289: * @param string $middleName
290: * @return BusinessStakeholder
291: */
292: public function setMiddleName($middleName) {
293: $this->middleName = $middleName;
294: return $this;
295: }
296:
297: /**
298: * Get the last name
299: *
300: * @return string
301: */
302: public function getLastName() {
303: return $this->lastName;
304: }
305:
306: /**
307: * Set the last name
308: *
309: * @param string $lastName
310: * @return BusinessStakeholder
311: */
312: public function setLastName($lastName) {
313: $this->lastName = $lastName;
314: return $this;
315: }
316:
317: /**
318: * Get the date of birth
319: *
320: * @return \DateTime|null
321: */
322: public function getDateOfBirth() {
323: return $this->dateOfBirth ? new \DateTime($this->dateOfBirth) : null;
324: }
325:
326: /**
327: * Set the date of birth
328: *
329: * @param \DateTime|null $dateOfBirth
330: * @return BusinessStakeholder
331: */
332: public function setDateOfBirth(\DateTime $dateOfBirth = null) {
333: $this->dateOfBirth = $dateOfBirth == null ? null : $dateOfBirth->format('Y-m-d');
334: return $this;
335: }
336:
337: /**
338: * Get the country of birth
339: *
340: * @return string
341: */
342: public function getCountryOfBirth() {
343: return $this->countryOfBirth;
344: }
345:
346: /**
347: * Set the country of birth
348: *
349: * @param string $countryOfBirth
350: * @return BusinessStakeholder
351: */
352: public function setCountryOfBirth($countryOfBirth) {
353: $this->countryOfBirth = $countryOfBirth;
354: return $this;
355: }
356:
357: /**
358: * Get the country of nationality
359: *
360: * @return string
361: */
362: public function getCountryOfNationality() {
363: return $this->countryOfNationality;
364: }
365:
366: /**
367: * Set the country of nationality
368: *
369: * @param string $countryOfNationality
370: * @return BusinessStakeholder
371: */
372: public function setCountryOfNationality($countryOfNationality) {
373: $this->countryOfNationality = $countryOfNationality;
374: return $this;
375: }
376:
377: /**
378: * Get the gender
379: *
380: * @return string
381: */
382: public function getGender() {
383: return $this->gender;
384: }
385:
386: /**
387: * Set the gender
388: *
389: * @param string $gender
390: * @return BusinessStakeholder
391: */
392: public function setGender($gender) {
393: $this->gender = $gender;
394: return $this;
395: }
396:
397: /**
398: * Get the phone number
399: *
400: * @return string
401: */
402: public function getPhoneNumber() {
403: return $this->phoneNumber;
404: }
405:
406: /**
407: * Set the phone number
408: *
409: * @param string $phoneNumber
410: * @return BusinessStakeholder
411: */
412: public function setPhoneNumber($phoneNumber) {
413: $this->phoneNumber = $phoneNumber;
414: return $this;
415: }
416:
417: /**
418: * Get the mobile number
419: *
420: * @return string
421: */
422: public function getMobileNumber() {
423: return $this->mobileNumber;
424: }
425:
426: /**
427: * Set the mobile number
428: *
429: * @param string $mobileNumber
430: * @return BusinessStakeholder
431: */
432: public function setMobileNumber($mobileNumber) {
433: $this->mobileNumber = $mobileNumber;
434: return $this;
435: }
436:
437: /**
438: * Get the email
439: *
440: * @return string
441: */
442: public function getEmail() {
443: return $this->email;
444: }
445:
446: /**
447: * Set the email
448: *
449: * @param string $email
450: * @return BusinessStakeholder
451: */
452: public function setEmail($email) {
453: $this->email = $email;
454: return $this;
455: }
456:
457: /**
458: * Get the government id
459: *
460: * @return string
461: */
462: public function getGovernmentId() {
463: return $this->governmentId;
464: }
465:
466: /**
467: * Set the government id
468: *
469: * @param string $governmentId
470: * @return BusinessStakeholder
471: */
472: public function setGovernmentId($governmentId) {
473: $this->governmentId = $governmentId;
474: return $this;
475: }
476:
477: /**
478: * Get the business governmentIdType
479: *
480: * @return string
481: */
482: public function getGovernmentIdType() {
483: return $this->governmentIdType;
484: }
485:
486: /**
487: * Set the business governmentIdType
488: *
489: * @param string $governmentIdType
490: * @return BusinessStakeholder
491: */
492: public function setGovernmentIdType($governmentIdType) {
493: $this->governmentIdType = $governmentIdType;
494: return $this;
495: }
496:
497: /**
498: * Get the drivers license id
499: *
500: * @return string
501: */
502: public function getDriversLicenseId() {
503: return $this->driversLicenseId;
504: }
505:
506: /**
507: * Set the drivers license id
508: *
509: * @param string $driversLicenseId
510: * @return BusinessStakeholder
511: */
512: public function setDriversLicenseId($driversLicenseId) {
513: $this->driversLicenseId = $driversLicenseId;
514: return $this;
515: }
516:
517: /**
518: * Get the address line 1
519: *
520: * @return string
521: */
522: public function getAddressLine1() {
523: return $this->addressLine1;
524: }
525:
526: /**
527: * Set the address line 1
528: *
529: * @param string $addressLine1
530: * @return BusinessStakeholder
531: */
532: public function setAddressLine1($addressLine1) {
533: $this->addressLine1 = $addressLine1;
534: return $this;
535: }
536:
537: /**
538: * Get the address line 2
539: *
540: * @return string
541: */
542: public function getAddressLine2() {
543: return $this->addressLine2;
544: }
545:
546: /**
547: * Set the address line 2
548: *
549: * @param string $addressLine2
550: * @return BusinessStakeholder
551: */
552: public function setAddressLine2($addressLine2) {
553: $this->addressLine2 = $addressLine2;
554: return $this;
555: }
556:
557: /**
558: * Get the city
559: *
560: * @return string
561: */
562: public function getCity() {
563: return $this->city;
564: }
565:
566: /**
567: * Set the city
568: *
569: * @param string $city
570: * @return BusinessStakeholder
571: */
572: public function setCity($city) {
573: $this->city = $city;
574: return $this;
575: }
576:
577: /**
578: * Get the state or province
579: *
580: * @return string
581: */
582: public function getStateProvince() {
583: return $this->stateProvince;
584: }
585:
586: /**
587: * Set the state or province
588: *
589: * @param string $stateProvince
590: * @return BusinessStakeholder
591: */
592: public function setStateProvince($stateProvince) {
593: $this->stateProvince = $stateProvince;
594: return $this;
595: }
596:
597: /**
598: * Get the country
599: *
600: * @return string
601: */
602: public function getCountry() {
603: return $this->country;
604: }
605:
606: /**
607: * Set the country
608: *
609: * @param string $country
610: * @return BusinessStakeholder
611: */
612: public function setCountry($country) {
613: $this->country = $country;
614: return $this;
615: }
616:
617: /**
618: * Get the postal code
619: *
620: * @return string
621: */
622: public function getPostalCode() {
623: return $this->postalCode;
624: }
625:
626: /**
627: * Set the postal code
628: *
629: * @param string $postalCode
630: * @return BusinessStakeholder
631: */
632: public function setPostalCode($postalCode) {
633: $this->postalCode = $postalCode;
634: return $this;
635: }
636:
637: public function getDocuments() {
638: return $this->documents;
639: }
640:
641: }
642: