1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/customer-profiles/CustomerProfiles_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/customer-profiles/model/PartyType.h>
10 #include <aws/customer-profiles/model/Gender.h>
11 #include <aws/customer-profiles/model/Address.h>
12 #include <aws/core/utils/memory/stl/AWSMap.h>
13 #include <utility>
14 
15 namespace Aws
16 {
17 namespace Utils
18 {
19 namespace Json
20 {
21   class JsonValue;
22   class JsonView;
23 } // namespace Json
24 } // namespace Utils
25 namespace CustomerProfiles
26 {
27 namespace Model
28 {
29 
30   /**
31    * <p>The standard profile of a customer.</p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/Profile">AWS
33    * API Reference</a></p>
34    */
35   class AWS_CUSTOMERPROFILES_API Profile
36   {
37   public:
38     Profile();
39     Profile(Aws::Utils::Json::JsonView jsonValue);
40     Profile& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * <p>The unique identifier of a customer profile.</p>
46      */
GetProfileId()47     inline const Aws::String& GetProfileId() const{ return m_profileId; }
48 
49     /**
50      * <p>The unique identifier of a customer profile.</p>
51      */
ProfileIdHasBeenSet()52     inline bool ProfileIdHasBeenSet() const { return m_profileIdHasBeenSet; }
53 
54     /**
55      * <p>The unique identifier of a customer profile.</p>
56      */
SetProfileId(const Aws::String & value)57     inline void SetProfileId(const Aws::String& value) { m_profileIdHasBeenSet = true; m_profileId = value; }
58 
59     /**
60      * <p>The unique identifier of a customer profile.</p>
61      */
SetProfileId(Aws::String && value)62     inline void SetProfileId(Aws::String&& value) { m_profileIdHasBeenSet = true; m_profileId = std::move(value); }
63 
64     /**
65      * <p>The unique identifier of a customer profile.</p>
66      */
SetProfileId(const char * value)67     inline void SetProfileId(const char* value) { m_profileIdHasBeenSet = true; m_profileId.assign(value); }
68 
69     /**
70      * <p>The unique identifier of a customer profile.</p>
71      */
WithProfileId(const Aws::String & value)72     inline Profile& WithProfileId(const Aws::String& value) { SetProfileId(value); return *this;}
73 
74     /**
75      * <p>The unique identifier of a customer profile.</p>
76      */
WithProfileId(Aws::String && value)77     inline Profile& WithProfileId(Aws::String&& value) { SetProfileId(std::move(value)); return *this;}
78 
79     /**
80      * <p>The unique identifier of a customer profile.</p>
81      */
WithProfileId(const char * value)82     inline Profile& WithProfileId(const char* value) { SetProfileId(value); return *this;}
83 
84 
85     /**
86      * <p>A unique account number that you have given to the customer.</p>
87      */
GetAccountNumber()88     inline const Aws::String& GetAccountNumber() const{ return m_accountNumber; }
89 
90     /**
91      * <p>A unique account number that you have given to the customer.</p>
92      */
AccountNumberHasBeenSet()93     inline bool AccountNumberHasBeenSet() const { return m_accountNumberHasBeenSet; }
94 
95     /**
96      * <p>A unique account number that you have given to the customer.</p>
97      */
SetAccountNumber(const Aws::String & value)98     inline void SetAccountNumber(const Aws::String& value) { m_accountNumberHasBeenSet = true; m_accountNumber = value; }
99 
100     /**
101      * <p>A unique account number that you have given to the customer.</p>
102      */
SetAccountNumber(Aws::String && value)103     inline void SetAccountNumber(Aws::String&& value) { m_accountNumberHasBeenSet = true; m_accountNumber = std::move(value); }
104 
105     /**
106      * <p>A unique account number that you have given to the customer.</p>
107      */
SetAccountNumber(const char * value)108     inline void SetAccountNumber(const char* value) { m_accountNumberHasBeenSet = true; m_accountNumber.assign(value); }
109 
110     /**
111      * <p>A unique account number that you have given to the customer.</p>
112      */
WithAccountNumber(const Aws::String & value)113     inline Profile& WithAccountNumber(const Aws::String& value) { SetAccountNumber(value); return *this;}
114 
115     /**
116      * <p>A unique account number that you have given to the customer.</p>
117      */
WithAccountNumber(Aws::String && value)118     inline Profile& WithAccountNumber(Aws::String&& value) { SetAccountNumber(std::move(value)); return *this;}
119 
120     /**
121      * <p>A unique account number that you have given to the customer.</p>
122      */
WithAccountNumber(const char * value)123     inline Profile& WithAccountNumber(const char* value) { SetAccountNumber(value); return *this;}
124 
125 
126     /**
127      * <p>Any additional information relevant to the customer’s profile.</p>
128      */
GetAdditionalInformation()129     inline const Aws::String& GetAdditionalInformation() const{ return m_additionalInformation; }
130 
131     /**
132      * <p>Any additional information relevant to the customer’s profile.</p>
133      */
AdditionalInformationHasBeenSet()134     inline bool AdditionalInformationHasBeenSet() const { return m_additionalInformationHasBeenSet; }
135 
136     /**
137      * <p>Any additional information relevant to the customer’s profile.</p>
138      */
SetAdditionalInformation(const Aws::String & value)139     inline void SetAdditionalInformation(const Aws::String& value) { m_additionalInformationHasBeenSet = true; m_additionalInformation = value; }
140 
141     /**
142      * <p>Any additional information relevant to the customer’s profile.</p>
143      */
SetAdditionalInformation(Aws::String && value)144     inline void SetAdditionalInformation(Aws::String&& value) { m_additionalInformationHasBeenSet = true; m_additionalInformation = std::move(value); }
145 
146     /**
147      * <p>Any additional information relevant to the customer’s profile.</p>
148      */
SetAdditionalInformation(const char * value)149     inline void SetAdditionalInformation(const char* value) { m_additionalInformationHasBeenSet = true; m_additionalInformation.assign(value); }
150 
151     /**
152      * <p>Any additional information relevant to the customer’s profile.</p>
153      */
WithAdditionalInformation(const Aws::String & value)154     inline Profile& WithAdditionalInformation(const Aws::String& value) { SetAdditionalInformation(value); return *this;}
155 
156     /**
157      * <p>Any additional information relevant to the customer’s profile.</p>
158      */
WithAdditionalInformation(Aws::String && value)159     inline Profile& WithAdditionalInformation(Aws::String&& value) { SetAdditionalInformation(std::move(value)); return *this;}
160 
161     /**
162      * <p>Any additional information relevant to the customer’s profile.</p>
163      */
WithAdditionalInformation(const char * value)164     inline Profile& WithAdditionalInformation(const char* value) { SetAdditionalInformation(value); return *this;}
165 
166 
167     /**
168      * <p>The type of profile used to describe the customer.</p>
169      */
GetPartyType()170     inline const PartyType& GetPartyType() const{ return m_partyType; }
171 
172     /**
173      * <p>The type of profile used to describe the customer.</p>
174      */
PartyTypeHasBeenSet()175     inline bool PartyTypeHasBeenSet() const { return m_partyTypeHasBeenSet; }
176 
177     /**
178      * <p>The type of profile used to describe the customer.</p>
179      */
SetPartyType(const PartyType & value)180     inline void SetPartyType(const PartyType& value) { m_partyTypeHasBeenSet = true; m_partyType = value; }
181 
182     /**
183      * <p>The type of profile used to describe the customer.</p>
184      */
SetPartyType(PartyType && value)185     inline void SetPartyType(PartyType&& value) { m_partyTypeHasBeenSet = true; m_partyType = std::move(value); }
186 
187     /**
188      * <p>The type of profile used to describe the customer.</p>
189      */
WithPartyType(const PartyType & value)190     inline Profile& WithPartyType(const PartyType& value) { SetPartyType(value); return *this;}
191 
192     /**
193      * <p>The type of profile used to describe the customer.</p>
194      */
WithPartyType(PartyType && value)195     inline Profile& WithPartyType(PartyType&& value) { SetPartyType(std::move(value)); return *this;}
196 
197 
198     /**
199      * <p>The name of the customer’s business.</p>
200      */
GetBusinessName()201     inline const Aws::String& GetBusinessName() const{ return m_businessName; }
202 
203     /**
204      * <p>The name of the customer’s business.</p>
205      */
BusinessNameHasBeenSet()206     inline bool BusinessNameHasBeenSet() const { return m_businessNameHasBeenSet; }
207 
208     /**
209      * <p>The name of the customer’s business.</p>
210      */
SetBusinessName(const Aws::String & value)211     inline void SetBusinessName(const Aws::String& value) { m_businessNameHasBeenSet = true; m_businessName = value; }
212 
213     /**
214      * <p>The name of the customer’s business.</p>
215      */
SetBusinessName(Aws::String && value)216     inline void SetBusinessName(Aws::String&& value) { m_businessNameHasBeenSet = true; m_businessName = std::move(value); }
217 
218     /**
219      * <p>The name of the customer’s business.</p>
220      */
SetBusinessName(const char * value)221     inline void SetBusinessName(const char* value) { m_businessNameHasBeenSet = true; m_businessName.assign(value); }
222 
223     /**
224      * <p>The name of the customer’s business.</p>
225      */
WithBusinessName(const Aws::String & value)226     inline Profile& WithBusinessName(const Aws::String& value) { SetBusinessName(value); return *this;}
227 
228     /**
229      * <p>The name of the customer’s business.</p>
230      */
WithBusinessName(Aws::String && value)231     inline Profile& WithBusinessName(Aws::String&& value) { SetBusinessName(std::move(value)); return *this;}
232 
233     /**
234      * <p>The name of the customer’s business.</p>
235      */
WithBusinessName(const char * value)236     inline Profile& WithBusinessName(const char* value) { SetBusinessName(value); return *this;}
237 
238 
239     /**
240      * <p>The customer’s first name.</p>
241      */
GetFirstName()242     inline const Aws::String& GetFirstName() const{ return m_firstName; }
243 
244     /**
245      * <p>The customer’s first name.</p>
246      */
FirstNameHasBeenSet()247     inline bool FirstNameHasBeenSet() const { return m_firstNameHasBeenSet; }
248 
249     /**
250      * <p>The customer’s first name.</p>
251      */
SetFirstName(const Aws::String & value)252     inline void SetFirstName(const Aws::String& value) { m_firstNameHasBeenSet = true; m_firstName = value; }
253 
254     /**
255      * <p>The customer’s first name.</p>
256      */
SetFirstName(Aws::String && value)257     inline void SetFirstName(Aws::String&& value) { m_firstNameHasBeenSet = true; m_firstName = std::move(value); }
258 
259     /**
260      * <p>The customer’s first name.</p>
261      */
SetFirstName(const char * value)262     inline void SetFirstName(const char* value) { m_firstNameHasBeenSet = true; m_firstName.assign(value); }
263 
264     /**
265      * <p>The customer’s first name.</p>
266      */
WithFirstName(const Aws::String & value)267     inline Profile& WithFirstName(const Aws::String& value) { SetFirstName(value); return *this;}
268 
269     /**
270      * <p>The customer’s first name.</p>
271      */
WithFirstName(Aws::String && value)272     inline Profile& WithFirstName(Aws::String&& value) { SetFirstName(std::move(value)); return *this;}
273 
274     /**
275      * <p>The customer’s first name.</p>
276      */
WithFirstName(const char * value)277     inline Profile& WithFirstName(const char* value) { SetFirstName(value); return *this;}
278 
279 
280     /**
281      * <p>The customer’s middle name.</p>
282      */
GetMiddleName()283     inline const Aws::String& GetMiddleName() const{ return m_middleName; }
284 
285     /**
286      * <p>The customer’s middle name.</p>
287      */
MiddleNameHasBeenSet()288     inline bool MiddleNameHasBeenSet() const { return m_middleNameHasBeenSet; }
289 
290     /**
291      * <p>The customer’s middle name.</p>
292      */
SetMiddleName(const Aws::String & value)293     inline void SetMiddleName(const Aws::String& value) { m_middleNameHasBeenSet = true; m_middleName = value; }
294 
295     /**
296      * <p>The customer’s middle name.</p>
297      */
SetMiddleName(Aws::String && value)298     inline void SetMiddleName(Aws::String&& value) { m_middleNameHasBeenSet = true; m_middleName = std::move(value); }
299 
300     /**
301      * <p>The customer’s middle name.</p>
302      */
SetMiddleName(const char * value)303     inline void SetMiddleName(const char* value) { m_middleNameHasBeenSet = true; m_middleName.assign(value); }
304 
305     /**
306      * <p>The customer’s middle name.</p>
307      */
WithMiddleName(const Aws::String & value)308     inline Profile& WithMiddleName(const Aws::String& value) { SetMiddleName(value); return *this;}
309 
310     /**
311      * <p>The customer’s middle name.</p>
312      */
WithMiddleName(Aws::String && value)313     inline Profile& WithMiddleName(Aws::String&& value) { SetMiddleName(std::move(value)); return *this;}
314 
315     /**
316      * <p>The customer’s middle name.</p>
317      */
WithMiddleName(const char * value)318     inline Profile& WithMiddleName(const char* value) { SetMiddleName(value); return *this;}
319 
320 
321     /**
322      * <p>The customer’s last name.</p>
323      */
GetLastName()324     inline const Aws::String& GetLastName() const{ return m_lastName; }
325 
326     /**
327      * <p>The customer’s last name.</p>
328      */
LastNameHasBeenSet()329     inline bool LastNameHasBeenSet() const { return m_lastNameHasBeenSet; }
330 
331     /**
332      * <p>The customer’s last name.</p>
333      */
SetLastName(const Aws::String & value)334     inline void SetLastName(const Aws::String& value) { m_lastNameHasBeenSet = true; m_lastName = value; }
335 
336     /**
337      * <p>The customer’s last name.</p>
338      */
SetLastName(Aws::String && value)339     inline void SetLastName(Aws::String&& value) { m_lastNameHasBeenSet = true; m_lastName = std::move(value); }
340 
341     /**
342      * <p>The customer’s last name.</p>
343      */
SetLastName(const char * value)344     inline void SetLastName(const char* value) { m_lastNameHasBeenSet = true; m_lastName.assign(value); }
345 
346     /**
347      * <p>The customer’s last name.</p>
348      */
WithLastName(const Aws::String & value)349     inline Profile& WithLastName(const Aws::String& value) { SetLastName(value); return *this;}
350 
351     /**
352      * <p>The customer’s last name.</p>
353      */
WithLastName(Aws::String && value)354     inline Profile& WithLastName(Aws::String&& value) { SetLastName(std::move(value)); return *this;}
355 
356     /**
357      * <p>The customer’s last name.</p>
358      */
WithLastName(const char * value)359     inline Profile& WithLastName(const char* value) { SetLastName(value); return *this;}
360 
361 
362     /**
363      * <p>The customer’s birth date. </p>
364      */
GetBirthDate()365     inline const Aws::String& GetBirthDate() const{ return m_birthDate; }
366 
367     /**
368      * <p>The customer’s birth date. </p>
369      */
BirthDateHasBeenSet()370     inline bool BirthDateHasBeenSet() const { return m_birthDateHasBeenSet; }
371 
372     /**
373      * <p>The customer’s birth date. </p>
374      */
SetBirthDate(const Aws::String & value)375     inline void SetBirthDate(const Aws::String& value) { m_birthDateHasBeenSet = true; m_birthDate = value; }
376 
377     /**
378      * <p>The customer’s birth date. </p>
379      */
SetBirthDate(Aws::String && value)380     inline void SetBirthDate(Aws::String&& value) { m_birthDateHasBeenSet = true; m_birthDate = std::move(value); }
381 
382     /**
383      * <p>The customer’s birth date. </p>
384      */
SetBirthDate(const char * value)385     inline void SetBirthDate(const char* value) { m_birthDateHasBeenSet = true; m_birthDate.assign(value); }
386 
387     /**
388      * <p>The customer’s birth date. </p>
389      */
WithBirthDate(const Aws::String & value)390     inline Profile& WithBirthDate(const Aws::String& value) { SetBirthDate(value); return *this;}
391 
392     /**
393      * <p>The customer’s birth date. </p>
394      */
WithBirthDate(Aws::String && value)395     inline Profile& WithBirthDate(Aws::String&& value) { SetBirthDate(std::move(value)); return *this;}
396 
397     /**
398      * <p>The customer’s birth date. </p>
399      */
WithBirthDate(const char * value)400     inline Profile& WithBirthDate(const char* value) { SetBirthDate(value); return *this;}
401 
402 
403     /**
404      * <p>The gender with which the customer identifies. </p>
405      */
GetGender()406     inline const Gender& GetGender() const{ return m_gender; }
407 
408     /**
409      * <p>The gender with which the customer identifies. </p>
410      */
GenderHasBeenSet()411     inline bool GenderHasBeenSet() const { return m_genderHasBeenSet; }
412 
413     /**
414      * <p>The gender with which the customer identifies. </p>
415      */
SetGender(const Gender & value)416     inline void SetGender(const Gender& value) { m_genderHasBeenSet = true; m_gender = value; }
417 
418     /**
419      * <p>The gender with which the customer identifies. </p>
420      */
SetGender(Gender && value)421     inline void SetGender(Gender&& value) { m_genderHasBeenSet = true; m_gender = std::move(value); }
422 
423     /**
424      * <p>The gender with which the customer identifies. </p>
425      */
WithGender(const Gender & value)426     inline Profile& WithGender(const Gender& value) { SetGender(value); return *this;}
427 
428     /**
429      * <p>The gender with which the customer identifies. </p>
430      */
WithGender(Gender && value)431     inline Profile& WithGender(Gender&& value) { SetGender(std::move(value)); return *this;}
432 
433 
434     /**
435      * <p>The customer's phone number, which has not been specified as a mobile, home,
436      * or business number.</p>
437      */
GetPhoneNumber()438     inline const Aws::String& GetPhoneNumber() const{ return m_phoneNumber; }
439 
440     /**
441      * <p>The customer's phone number, which has not been specified as a mobile, home,
442      * or business number.</p>
443      */
PhoneNumberHasBeenSet()444     inline bool PhoneNumberHasBeenSet() const { return m_phoneNumberHasBeenSet; }
445 
446     /**
447      * <p>The customer's phone number, which has not been specified as a mobile, home,
448      * or business number.</p>
449      */
SetPhoneNumber(const Aws::String & value)450     inline void SetPhoneNumber(const Aws::String& value) { m_phoneNumberHasBeenSet = true; m_phoneNumber = value; }
451 
452     /**
453      * <p>The customer's phone number, which has not been specified as a mobile, home,
454      * or business number.</p>
455      */
SetPhoneNumber(Aws::String && value)456     inline void SetPhoneNumber(Aws::String&& value) { m_phoneNumberHasBeenSet = true; m_phoneNumber = std::move(value); }
457 
458     /**
459      * <p>The customer's phone number, which has not been specified as a mobile, home,
460      * or business number.</p>
461      */
SetPhoneNumber(const char * value)462     inline void SetPhoneNumber(const char* value) { m_phoneNumberHasBeenSet = true; m_phoneNumber.assign(value); }
463 
464     /**
465      * <p>The customer's phone number, which has not been specified as a mobile, home,
466      * or business number.</p>
467      */
WithPhoneNumber(const Aws::String & value)468     inline Profile& WithPhoneNumber(const Aws::String& value) { SetPhoneNumber(value); return *this;}
469 
470     /**
471      * <p>The customer's phone number, which has not been specified as a mobile, home,
472      * or business number.</p>
473      */
WithPhoneNumber(Aws::String && value)474     inline Profile& WithPhoneNumber(Aws::String&& value) { SetPhoneNumber(std::move(value)); return *this;}
475 
476     /**
477      * <p>The customer's phone number, which has not been specified as a mobile, home,
478      * or business number.</p>
479      */
WithPhoneNumber(const char * value)480     inline Profile& WithPhoneNumber(const char* value) { SetPhoneNumber(value); return *this;}
481 
482 
483     /**
484      * <p>The customer’s mobile phone number.</p>
485      */
GetMobilePhoneNumber()486     inline const Aws::String& GetMobilePhoneNumber() const{ return m_mobilePhoneNumber; }
487 
488     /**
489      * <p>The customer’s mobile phone number.</p>
490      */
MobilePhoneNumberHasBeenSet()491     inline bool MobilePhoneNumberHasBeenSet() const { return m_mobilePhoneNumberHasBeenSet; }
492 
493     /**
494      * <p>The customer’s mobile phone number.</p>
495      */
SetMobilePhoneNumber(const Aws::String & value)496     inline void SetMobilePhoneNumber(const Aws::String& value) { m_mobilePhoneNumberHasBeenSet = true; m_mobilePhoneNumber = value; }
497 
498     /**
499      * <p>The customer’s mobile phone number.</p>
500      */
SetMobilePhoneNumber(Aws::String && value)501     inline void SetMobilePhoneNumber(Aws::String&& value) { m_mobilePhoneNumberHasBeenSet = true; m_mobilePhoneNumber = std::move(value); }
502 
503     /**
504      * <p>The customer’s mobile phone number.</p>
505      */
SetMobilePhoneNumber(const char * value)506     inline void SetMobilePhoneNumber(const char* value) { m_mobilePhoneNumberHasBeenSet = true; m_mobilePhoneNumber.assign(value); }
507 
508     /**
509      * <p>The customer’s mobile phone number.</p>
510      */
WithMobilePhoneNumber(const Aws::String & value)511     inline Profile& WithMobilePhoneNumber(const Aws::String& value) { SetMobilePhoneNumber(value); return *this;}
512 
513     /**
514      * <p>The customer’s mobile phone number.</p>
515      */
WithMobilePhoneNumber(Aws::String && value)516     inline Profile& WithMobilePhoneNumber(Aws::String&& value) { SetMobilePhoneNumber(std::move(value)); return *this;}
517 
518     /**
519      * <p>The customer’s mobile phone number.</p>
520      */
WithMobilePhoneNumber(const char * value)521     inline Profile& WithMobilePhoneNumber(const char* value) { SetMobilePhoneNumber(value); return *this;}
522 
523 
524     /**
525      * <p>The customer’s home phone number.</p>
526      */
GetHomePhoneNumber()527     inline const Aws::String& GetHomePhoneNumber() const{ return m_homePhoneNumber; }
528 
529     /**
530      * <p>The customer’s home phone number.</p>
531      */
HomePhoneNumberHasBeenSet()532     inline bool HomePhoneNumberHasBeenSet() const { return m_homePhoneNumberHasBeenSet; }
533 
534     /**
535      * <p>The customer’s home phone number.</p>
536      */
SetHomePhoneNumber(const Aws::String & value)537     inline void SetHomePhoneNumber(const Aws::String& value) { m_homePhoneNumberHasBeenSet = true; m_homePhoneNumber = value; }
538 
539     /**
540      * <p>The customer’s home phone number.</p>
541      */
SetHomePhoneNumber(Aws::String && value)542     inline void SetHomePhoneNumber(Aws::String&& value) { m_homePhoneNumberHasBeenSet = true; m_homePhoneNumber = std::move(value); }
543 
544     /**
545      * <p>The customer’s home phone number.</p>
546      */
SetHomePhoneNumber(const char * value)547     inline void SetHomePhoneNumber(const char* value) { m_homePhoneNumberHasBeenSet = true; m_homePhoneNumber.assign(value); }
548 
549     /**
550      * <p>The customer’s home phone number.</p>
551      */
WithHomePhoneNumber(const Aws::String & value)552     inline Profile& WithHomePhoneNumber(const Aws::String& value) { SetHomePhoneNumber(value); return *this;}
553 
554     /**
555      * <p>The customer’s home phone number.</p>
556      */
WithHomePhoneNumber(Aws::String && value)557     inline Profile& WithHomePhoneNumber(Aws::String&& value) { SetHomePhoneNumber(std::move(value)); return *this;}
558 
559     /**
560      * <p>The customer’s home phone number.</p>
561      */
WithHomePhoneNumber(const char * value)562     inline Profile& WithHomePhoneNumber(const char* value) { SetHomePhoneNumber(value); return *this;}
563 
564 
565     /**
566      * <p>The customer’s home phone number.</p>
567      */
GetBusinessPhoneNumber()568     inline const Aws::String& GetBusinessPhoneNumber() const{ return m_businessPhoneNumber; }
569 
570     /**
571      * <p>The customer’s home phone number.</p>
572      */
BusinessPhoneNumberHasBeenSet()573     inline bool BusinessPhoneNumberHasBeenSet() const { return m_businessPhoneNumberHasBeenSet; }
574 
575     /**
576      * <p>The customer’s home phone number.</p>
577      */
SetBusinessPhoneNumber(const Aws::String & value)578     inline void SetBusinessPhoneNumber(const Aws::String& value) { m_businessPhoneNumberHasBeenSet = true; m_businessPhoneNumber = value; }
579 
580     /**
581      * <p>The customer’s home phone number.</p>
582      */
SetBusinessPhoneNumber(Aws::String && value)583     inline void SetBusinessPhoneNumber(Aws::String&& value) { m_businessPhoneNumberHasBeenSet = true; m_businessPhoneNumber = std::move(value); }
584 
585     /**
586      * <p>The customer’s home phone number.</p>
587      */
SetBusinessPhoneNumber(const char * value)588     inline void SetBusinessPhoneNumber(const char* value) { m_businessPhoneNumberHasBeenSet = true; m_businessPhoneNumber.assign(value); }
589 
590     /**
591      * <p>The customer’s home phone number.</p>
592      */
WithBusinessPhoneNumber(const Aws::String & value)593     inline Profile& WithBusinessPhoneNumber(const Aws::String& value) { SetBusinessPhoneNumber(value); return *this;}
594 
595     /**
596      * <p>The customer’s home phone number.</p>
597      */
WithBusinessPhoneNumber(Aws::String && value)598     inline Profile& WithBusinessPhoneNumber(Aws::String&& value) { SetBusinessPhoneNumber(std::move(value)); return *this;}
599 
600     /**
601      * <p>The customer’s home phone number.</p>
602      */
WithBusinessPhoneNumber(const char * value)603     inline Profile& WithBusinessPhoneNumber(const char* value) { SetBusinessPhoneNumber(value); return *this;}
604 
605 
606     /**
607      * <p>The customer’s email address, which has not been specified as a personal or
608      * business address. </p>
609      */
GetEmailAddress()610     inline const Aws::String& GetEmailAddress() const{ return m_emailAddress; }
611 
612     /**
613      * <p>The customer’s email address, which has not been specified as a personal or
614      * business address. </p>
615      */
EmailAddressHasBeenSet()616     inline bool EmailAddressHasBeenSet() const { return m_emailAddressHasBeenSet; }
617 
618     /**
619      * <p>The customer’s email address, which has not been specified as a personal or
620      * business address. </p>
621      */
SetEmailAddress(const Aws::String & value)622     inline void SetEmailAddress(const Aws::String& value) { m_emailAddressHasBeenSet = true; m_emailAddress = value; }
623 
624     /**
625      * <p>The customer’s email address, which has not been specified as a personal or
626      * business address. </p>
627      */
SetEmailAddress(Aws::String && value)628     inline void SetEmailAddress(Aws::String&& value) { m_emailAddressHasBeenSet = true; m_emailAddress = std::move(value); }
629 
630     /**
631      * <p>The customer’s email address, which has not been specified as a personal or
632      * business address. </p>
633      */
SetEmailAddress(const char * value)634     inline void SetEmailAddress(const char* value) { m_emailAddressHasBeenSet = true; m_emailAddress.assign(value); }
635 
636     /**
637      * <p>The customer’s email address, which has not been specified as a personal or
638      * business address. </p>
639      */
WithEmailAddress(const Aws::String & value)640     inline Profile& WithEmailAddress(const Aws::String& value) { SetEmailAddress(value); return *this;}
641 
642     /**
643      * <p>The customer’s email address, which has not been specified as a personal or
644      * business address. </p>
645      */
WithEmailAddress(Aws::String && value)646     inline Profile& WithEmailAddress(Aws::String&& value) { SetEmailAddress(std::move(value)); return *this;}
647 
648     /**
649      * <p>The customer’s email address, which has not been specified as a personal or
650      * business address. </p>
651      */
WithEmailAddress(const char * value)652     inline Profile& WithEmailAddress(const char* value) { SetEmailAddress(value); return *this;}
653 
654 
655     /**
656      * <p>The customer’s personal email address.</p>
657      */
GetPersonalEmailAddress()658     inline const Aws::String& GetPersonalEmailAddress() const{ return m_personalEmailAddress; }
659 
660     /**
661      * <p>The customer’s personal email address.</p>
662      */
PersonalEmailAddressHasBeenSet()663     inline bool PersonalEmailAddressHasBeenSet() const { return m_personalEmailAddressHasBeenSet; }
664 
665     /**
666      * <p>The customer’s personal email address.</p>
667      */
SetPersonalEmailAddress(const Aws::String & value)668     inline void SetPersonalEmailAddress(const Aws::String& value) { m_personalEmailAddressHasBeenSet = true; m_personalEmailAddress = value; }
669 
670     /**
671      * <p>The customer’s personal email address.</p>
672      */
SetPersonalEmailAddress(Aws::String && value)673     inline void SetPersonalEmailAddress(Aws::String&& value) { m_personalEmailAddressHasBeenSet = true; m_personalEmailAddress = std::move(value); }
674 
675     /**
676      * <p>The customer’s personal email address.</p>
677      */
SetPersonalEmailAddress(const char * value)678     inline void SetPersonalEmailAddress(const char* value) { m_personalEmailAddressHasBeenSet = true; m_personalEmailAddress.assign(value); }
679 
680     /**
681      * <p>The customer’s personal email address.</p>
682      */
WithPersonalEmailAddress(const Aws::String & value)683     inline Profile& WithPersonalEmailAddress(const Aws::String& value) { SetPersonalEmailAddress(value); return *this;}
684 
685     /**
686      * <p>The customer’s personal email address.</p>
687      */
WithPersonalEmailAddress(Aws::String && value)688     inline Profile& WithPersonalEmailAddress(Aws::String&& value) { SetPersonalEmailAddress(std::move(value)); return *this;}
689 
690     /**
691      * <p>The customer’s personal email address.</p>
692      */
WithPersonalEmailAddress(const char * value)693     inline Profile& WithPersonalEmailAddress(const char* value) { SetPersonalEmailAddress(value); return *this;}
694 
695 
696     /**
697      * <p>The customer’s business email address.</p>
698      */
GetBusinessEmailAddress()699     inline const Aws::String& GetBusinessEmailAddress() const{ return m_businessEmailAddress; }
700 
701     /**
702      * <p>The customer’s business email address.</p>
703      */
BusinessEmailAddressHasBeenSet()704     inline bool BusinessEmailAddressHasBeenSet() const { return m_businessEmailAddressHasBeenSet; }
705 
706     /**
707      * <p>The customer’s business email address.</p>
708      */
SetBusinessEmailAddress(const Aws::String & value)709     inline void SetBusinessEmailAddress(const Aws::String& value) { m_businessEmailAddressHasBeenSet = true; m_businessEmailAddress = value; }
710 
711     /**
712      * <p>The customer’s business email address.</p>
713      */
SetBusinessEmailAddress(Aws::String && value)714     inline void SetBusinessEmailAddress(Aws::String&& value) { m_businessEmailAddressHasBeenSet = true; m_businessEmailAddress = std::move(value); }
715 
716     /**
717      * <p>The customer’s business email address.</p>
718      */
SetBusinessEmailAddress(const char * value)719     inline void SetBusinessEmailAddress(const char* value) { m_businessEmailAddressHasBeenSet = true; m_businessEmailAddress.assign(value); }
720 
721     /**
722      * <p>The customer’s business email address.</p>
723      */
WithBusinessEmailAddress(const Aws::String & value)724     inline Profile& WithBusinessEmailAddress(const Aws::String& value) { SetBusinessEmailAddress(value); return *this;}
725 
726     /**
727      * <p>The customer’s business email address.</p>
728      */
WithBusinessEmailAddress(Aws::String && value)729     inline Profile& WithBusinessEmailAddress(Aws::String&& value) { SetBusinessEmailAddress(std::move(value)); return *this;}
730 
731     /**
732      * <p>The customer’s business email address.</p>
733      */
WithBusinessEmailAddress(const char * value)734     inline Profile& WithBusinessEmailAddress(const char* value) { SetBusinessEmailAddress(value); return *this;}
735 
736 
737     /**
738      * <p>A generic address associated with the customer that is not mailing, shipping,
739      * or billing.</p>
740      */
GetAddress()741     inline const Address& GetAddress() const{ return m_address; }
742 
743     /**
744      * <p>A generic address associated with the customer that is not mailing, shipping,
745      * or billing.</p>
746      */
AddressHasBeenSet()747     inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; }
748 
749     /**
750      * <p>A generic address associated with the customer that is not mailing, shipping,
751      * or billing.</p>
752      */
SetAddress(const Address & value)753     inline void SetAddress(const Address& value) { m_addressHasBeenSet = true; m_address = value; }
754 
755     /**
756      * <p>A generic address associated with the customer that is not mailing, shipping,
757      * or billing.</p>
758      */
SetAddress(Address && value)759     inline void SetAddress(Address&& value) { m_addressHasBeenSet = true; m_address = std::move(value); }
760 
761     /**
762      * <p>A generic address associated with the customer that is not mailing, shipping,
763      * or billing.</p>
764      */
WithAddress(const Address & value)765     inline Profile& WithAddress(const Address& value) { SetAddress(value); return *this;}
766 
767     /**
768      * <p>A generic address associated with the customer that is not mailing, shipping,
769      * or billing.</p>
770      */
WithAddress(Address && value)771     inline Profile& WithAddress(Address&& value) { SetAddress(std::move(value)); return *this;}
772 
773 
774     /**
775      * <p>The customer’s shipping address.</p>
776      */
GetShippingAddress()777     inline const Address& GetShippingAddress() const{ return m_shippingAddress; }
778 
779     /**
780      * <p>The customer’s shipping address.</p>
781      */
ShippingAddressHasBeenSet()782     inline bool ShippingAddressHasBeenSet() const { return m_shippingAddressHasBeenSet; }
783 
784     /**
785      * <p>The customer’s shipping address.</p>
786      */
SetShippingAddress(const Address & value)787     inline void SetShippingAddress(const Address& value) { m_shippingAddressHasBeenSet = true; m_shippingAddress = value; }
788 
789     /**
790      * <p>The customer’s shipping address.</p>
791      */
SetShippingAddress(Address && value)792     inline void SetShippingAddress(Address&& value) { m_shippingAddressHasBeenSet = true; m_shippingAddress = std::move(value); }
793 
794     /**
795      * <p>The customer’s shipping address.</p>
796      */
WithShippingAddress(const Address & value)797     inline Profile& WithShippingAddress(const Address& value) { SetShippingAddress(value); return *this;}
798 
799     /**
800      * <p>The customer’s shipping address.</p>
801      */
WithShippingAddress(Address && value)802     inline Profile& WithShippingAddress(Address&& value) { SetShippingAddress(std::move(value)); return *this;}
803 
804 
805     /**
806      * <p>The customer’s mailing address.</p>
807      */
GetMailingAddress()808     inline const Address& GetMailingAddress() const{ return m_mailingAddress; }
809 
810     /**
811      * <p>The customer’s mailing address.</p>
812      */
MailingAddressHasBeenSet()813     inline bool MailingAddressHasBeenSet() const { return m_mailingAddressHasBeenSet; }
814 
815     /**
816      * <p>The customer’s mailing address.</p>
817      */
SetMailingAddress(const Address & value)818     inline void SetMailingAddress(const Address& value) { m_mailingAddressHasBeenSet = true; m_mailingAddress = value; }
819 
820     /**
821      * <p>The customer’s mailing address.</p>
822      */
SetMailingAddress(Address && value)823     inline void SetMailingAddress(Address&& value) { m_mailingAddressHasBeenSet = true; m_mailingAddress = std::move(value); }
824 
825     /**
826      * <p>The customer’s mailing address.</p>
827      */
WithMailingAddress(const Address & value)828     inline Profile& WithMailingAddress(const Address& value) { SetMailingAddress(value); return *this;}
829 
830     /**
831      * <p>The customer’s mailing address.</p>
832      */
WithMailingAddress(Address && value)833     inline Profile& WithMailingAddress(Address&& value) { SetMailingAddress(std::move(value)); return *this;}
834 
835 
836     /**
837      * <p>The customer’s billing address.</p>
838      */
GetBillingAddress()839     inline const Address& GetBillingAddress() const{ return m_billingAddress; }
840 
841     /**
842      * <p>The customer’s billing address.</p>
843      */
BillingAddressHasBeenSet()844     inline bool BillingAddressHasBeenSet() const { return m_billingAddressHasBeenSet; }
845 
846     /**
847      * <p>The customer’s billing address.</p>
848      */
SetBillingAddress(const Address & value)849     inline void SetBillingAddress(const Address& value) { m_billingAddressHasBeenSet = true; m_billingAddress = value; }
850 
851     /**
852      * <p>The customer’s billing address.</p>
853      */
SetBillingAddress(Address && value)854     inline void SetBillingAddress(Address&& value) { m_billingAddressHasBeenSet = true; m_billingAddress = std::move(value); }
855 
856     /**
857      * <p>The customer’s billing address.</p>
858      */
WithBillingAddress(const Address & value)859     inline Profile& WithBillingAddress(const Address& value) { SetBillingAddress(value); return *this;}
860 
861     /**
862      * <p>The customer’s billing address.</p>
863      */
WithBillingAddress(Address && value)864     inline Profile& WithBillingAddress(Address&& value) { SetBillingAddress(std::move(value)); return *this;}
865 
866 
867     /**
868      * <p>A key value pair of attributes of a customer profile.</p>
869      */
GetAttributes()870     inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const{ return m_attributes; }
871 
872     /**
873      * <p>A key value pair of attributes of a customer profile.</p>
874      */
AttributesHasBeenSet()875     inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
876 
877     /**
878      * <p>A key value pair of attributes of a customer profile.</p>
879      */
SetAttributes(const Aws::Map<Aws::String,Aws::String> & value)880     inline void SetAttributes(const Aws::Map<Aws::String, Aws::String>& value) { m_attributesHasBeenSet = true; m_attributes = value; }
881 
882     /**
883      * <p>A key value pair of attributes of a customer profile.</p>
884      */
SetAttributes(Aws::Map<Aws::String,Aws::String> && value)885     inline void SetAttributes(Aws::Map<Aws::String, Aws::String>&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); }
886 
887     /**
888      * <p>A key value pair of attributes of a customer profile.</p>
889      */
WithAttributes(const Aws::Map<Aws::String,Aws::String> & value)890     inline Profile& WithAttributes(const Aws::Map<Aws::String, Aws::String>& value) { SetAttributes(value); return *this;}
891 
892     /**
893      * <p>A key value pair of attributes of a customer profile.</p>
894      */
WithAttributes(Aws::Map<Aws::String,Aws::String> && value)895     inline Profile& WithAttributes(Aws::Map<Aws::String, Aws::String>&& value) { SetAttributes(std::move(value)); return *this;}
896 
897     /**
898      * <p>A key value pair of attributes of a customer profile.</p>
899      */
AddAttributes(const Aws::String & key,const Aws::String & value)900     inline Profile& AddAttributes(const Aws::String& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; }
901 
902     /**
903      * <p>A key value pair of attributes of a customer profile.</p>
904      */
AddAttributes(Aws::String && key,const Aws::String & value)905     inline Profile& AddAttributes(Aws::String&& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; }
906 
907     /**
908      * <p>A key value pair of attributes of a customer profile.</p>
909      */
AddAttributes(const Aws::String & key,Aws::String && value)910     inline Profile& AddAttributes(const Aws::String& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; }
911 
912     /**
913      * <p>A key value pair of attributes of a customer profile.</p>
914      */
AddAttributes(Aws::String && key,Aws::String && value)915     inline Profile& AddAttributes(Aws::String&& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; }
916 
917     /**
918      * <p>A key value pair of attributes of a customer profile.</p>
919      */
AddAttributes(const char * key,Aws::String && value)920     inline Profile& AddAttributes(const char* key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; }
921 
922     /**
923      * <p>A key value pair of attributes of a customer profile.</p>
924      */
AddAttributes(Aws::String && key,const char * value)925     inline Profile& AddAttributes(Aws::String&& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; }
926 
927     /**
928      * <p>A key value pair of attributes of a customer profile.</p>
929      */
AddAttributes(const char * key,const char * value)930     inline Profile& AddAttributes(const char* key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; }
931 
932   private:
933 
934     Aws::String m_profileId;
935     bool m_profileIdHasBeenSet;
936 
937     Aws::String m_accountNumber;
938     bool m_accountNumberHasBeenSet;
939 
940     Aws::String m_additionalInformation;
941     bool m_additionalInformationHasBeenSet;
942 
943     PartyType m_partyType;
944     bool m_partyTypeHasBeenSet;
945 
946     Aws::String m_businessName;
947     bool m_businessNameHasBeenSet;
948 
949     Aws::String m_firstName;
950     bool m_firstNameHasBeenSet;
951 
952     Aws::String m_middleName;
953     bool m_middleNameHasBeenSet;
954 
955     Aws::String m_lastName;
956     bool m_lastNameHasBeenSet;
957 
958     Aws::String m_birthDate;
959     bool m_birthDateHasBeenSet;
960 
961     Gender m_gender;
962     bool m_genderHasBeenSet;
963 
964     Aws::String m_phoneNumber;
965     bool m_phoneNumberHasBeenSet;
966 
967     Aws::String m_mobilePhoneNumber;
968     bool m_mobilePhoneNumberHasBeenSet;
969 
970     Aws::String m_homePhoneNumber;
971     bool m_homePhoneNumberHasBeenSet;
972 
973     Aws::String m_businessPhoneNumber;
974     bool m_businessPhoneNumberHasBeenSet;
975 
976     Aws::String m_emailAddress;
977     bool m_emailAddressHasBeenSet;
978 
979     Aws::String m_personalEmailAddress;
980     bool m_personalEmailAddressHasBeenSet;
981 
982     Aws::String m_businessEmailAddress;
983     bool m_businessEmailAddressHasBeenSet;
984 
985     Address m_address;
986     bool m_addressHasBeenSet;
987 
988     Address m_shippingAddress;
989     bool m_shippingAddressHasBeenSet;
990 
991     Address m_mailingAddress;
992     bool m_mailingAddressHasBeenSet;
993 
994     Address m_billingAddress;
995     bool m_billingAddressHasBeenSet;
996 
997     Aws::Map<Aws::String, Aws::String> m_attributes;
998     bool m_attributesHasBeenSet;
999   };
1000 
1001 } // namespace Model
1002 } // namespace CustomerProfiles
1003 } // namespace Aws
1004