{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.CustomerProfiles.Types.FieldSourceProfileIds
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.CustomerProfiles.Types.FieldSourceProfileIds where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude

-- | A duplicate customer profile that is to be merged into a main profile.
--
-- /See:/ 'newFieldSourceProfileIds' smart constructor.
data FieldSourceProfileIds = FieldSourceProfileIds'
  { -- | A unique identifier for the shipping address field to be merged.
    FieldSourceProfileIds -> Maybe Text
shippingAddress :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the mobile phone number field to be merged.
    FieldSourceProfileIds -> Maybe Text
mobilePhoneNumber :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the mailing address field to be merged.
    FieldSourceProfileIds -> Maybe Text
mailingAddress :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the middle name field to be merged.
    FieldSourceProfileIds -> Maybe Text
middleName :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the personal email address field to be merged.
    FieldSourceProfileIds -> Maybe Text
personalEmailAddress :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the last name field to be merged.
    FieldSourceProfileIds -> Maybe Text
lastName :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the additional information field to be merged.
    FieldSourceProfileIds -> Maybe Text
additionalInformation :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the home phone number field to be merged.
    FieldSourceProfileIds -> Maybe Text
homePhoneNumber :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the party type field to be merged.
    FieldSourceProfileIds -> Maybe Text
address :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the party type field to be merged.
    FieldSourceProfileIds -> Maybe Text
partyType :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the party type field to be merged.
    FieldSourceProfileIds -> Maybe Text
businessEmailAddress :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the attributes field to be merged.
    FieldSourceProfileIds -> Maybe (HashMap Text Text)
attributes :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | A unique identifier for the gender field to be merged.
    FieldSourceProfileIds -> Maybe Text
gender :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the phone number field to be merged.
    FieldSourceProfileIds -> Maybe Text
phoneNumber :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the account number field to be merged.
    FieldSourceProfileIds -> Maybe Text
accountNumber :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the email address field to be merged.
    FieldSourceProfileIds -> Maybe Text
emailAddress :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the first name field to be merged.
    FieldSourceProfileIds -> Maybe Text
firstName :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the billing type field to be merged.
    FieldSourceProfileIds -> Maybe Text
billingAddress :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the business phone number field to be merged.
    FieldSourceProfileIds -> Maybe Text
businessPhoneNumber :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the birthdate field to be merged.
    FieldSourceProfileIds -> Maybe Text
birthDate :: Prelude.Maybe Prelude.Text,
    -- | A unique identifier for the business name field to be merged.
    FieldSourceProfileIds -> Maybe Text
businessName :: Prelude.Maybe Prelude.Text
  }
  deriving (FieldSourceProfileIds -> FieldSourceProfileIds -> Bool
(FieldSourceProfileIds -> FieldSourceProfileIds -> Bool)
-> (FieldSourceProfileIds -> FieldSourceProfileIds -> Bool)
-> Eq FieldSourceProfileIds
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FieldSourceProfileIds -> FieldSourceProfileIds -> Bool
$c/= :: FieldSourceProfileIds -> FieldSourceProfileIds -> Bool
== :: FieldSourceProfileIds -> FieldSourceProfileIds -> Bool
$c== :: FieldSourceProfileIds -> FieldSourceProfileIds -> Bool
Prelude.Eq, ReadPrec [FieldSourceProfileIds]
ReadPrec FieldSourceProfileIds
Int -> ReadS FieldSourceProfileIds
ReadS [FieldSourceProfileIds]
(Int -> ReadS FieldSourceProfileIds)
-> ReadS [FieldSourceProfileIds]
-> ReadPrec FieldSourceProfileIds
-> ReadPrec [FieldSourceProfileIds]
-> Read FieldSourceProfileIds
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [FieldSourceProfileIds]
$creadListPrec :: ReadPrec [FieldSourceProfileIds]
readPrec :: ReadPrec FieldSourceProfileIds
$creadPrec :: ReadPrec FieldSourceProfileIds
readList :: ReadS [FieldSourceProfileIds]
$creadList :: ReadS [FieldSourceProfileIds]
readsPrec :: Int -> ReadS FieldSourceProfileIds
$creadsPrec :: Int -> ReadS FieldSourceProfileIds
Prelude.Read, Int -> FieldSourceProfileIds -> ShowS
[FieldSourceProfileIds] -> ShowS
FieldSourceProfileIds -> String
(Int -> FieldSourceProfileIds -> ShowS)
-> (FieldSourceProfileIds -> String)
-> ([FieldSourceProfileIds] -> ShowS)
-> Show FieldSourceProfileIds
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FieldSourceProfileIds] -> ShowS
$cshowList :: [FieldSourceProfileIds] -> ShowS
show :: FieldSourceProfileIds -> String
$cshow :: FieldSourceProfileIds -> String
showsPrec :: Int -> FieldSourceProfileIds -> ShowS
$cshowsPrec :: Int -> FieldSourceProfileIds -> ShowS
Prelude.Show, (forall x. FieldSourceProfileIds -> Rep FieldSourceProfileIds x)
-> (forall x. Rep FieldSourceProfileIds x -> FieldSourceProfileIds)
-> Generic FieldSourceProfileIds
forall x. Rep FieldSourceProfileIds x -> FieldSourceProfileIds
forall x. FieldSourceProfileIds -> Rep FieldSourceProfileIds x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep FieldSourceProfileIds x -> FieldSourceProfileIds
$cfrom :: forall x. FieldSourceProfileIds -> Rep FieldSourceProfileIds x
Prelude.Generic)

-- |
-- Create a value of 'FieldSourceProfileIds' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'shippingAddress', 'fieldSourceProfileIds_shippingAddress' - A unique identifier for the shipping address field to be merged.
--
-- 'mobilePhoneNumber', 'fieldSourceProfileIds_mobilePhoneNumber' - A unique identifier for the mobile phone number field to be merged.
--
-- 'mailingAddress', 'fieldSourceProfileIds_mailingAddress' - A unique identifier for the mailing address field to be merged.
--
-- 'middleName', 'fieldSourceProfileIds_middleName' - A unique identifier for the middle name field to be merged.
--
-- 'personalEmailAddress', 'fieldSourceProfileIds_personalEmailAddress' - A unique identifier for the personal email address field to be merged.
--
-- 'lastName', 'fieldSourceProfileIds_lastName' - A unique identifier for the last name field to be merged.
--
-- 'additionalInformation', 'fieldSourceProfileIds_additionalInformation' - A unique identifier for the additional information field to be merged.
--
-- 'homePhoneNumber', 'fieldSourceProfileIds_homePhoneNumber' - A unique identifier for the home phone number field to be merged.
--
-- 'address', 'fieldSourceProfileIds_address' - A unique identifier for the party type field to be merged.
--
-- 'partyType', 'fieldSourceProfileIds_partyType' - A unique identifier for the party type field to be merged.
--
-- 'businessEmailAddress', 'fieldSourceProfileIds_businessEmailAddress' - A unique identifier for the party type field to be merged.
--
-- 'attributes', 'fieldSourceProfileIds_attributes' - A unique identifier for the attributes field to be merged.
--
-- 'gender', 'fieldSourceProfileIds_gender' - A unique identifier for the gender field to be merged.
--
-- 'phoneNumber', 'fieldSourceProfileIds_phoneNumber' - A unique identifier for the phone number field to be merged.
--
-- 'accountNumber', 'fieldSourceProfileIds_accountNumber' - A unique identifier for the account number field to be merged.
--
-- 'emailAddress', 'fieldSourceProfileIds_emailAddress' - A unique identifier for the email address field to be merged.
--
-- 'firstName', 'fieldSourceProfileIds_firstName' - A unique identifier for the first name field to be merged.
--
-- 'billingAddress', 'fieldSourceProfileIds_billingAddress' - A unique identifier for the billing type field to be merged.
--
-- 'businessPhoneNumber', 'fieldSourceProfileIds_businessPhoneNumber' - A unique identifier for the business phone number field to be merged.
--
-- 'birthDate', 'fieldSourceProfileIds_birthDate' - A unique identifier for the birthdate field to be merged.
--
-- 'businessName', 'fieldSourceProfileIds_businessName' - A unique identifier for the business name field to be merged.
newFieldSourceProfileIds ::
  FieldSourceProfileIds
newFieldSourceProfileIds :: FieldSourceProfileIds
newFieldSourceProfileIds =
  FieldSourceProfileIds' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> FieldSourceProfileIds
FieldSourceProfileIds'
    { $sel:shippingAddress:FieldSourceProfileIds' :: Maybe Text
shippingAddress =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:mobilePhoneNumber:FieldSourceProfileIds' :: Maybe Text
mobilePhoneNumber = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:mailingAddress:FieldSourceProfileIds' :: Maybe Text
mailingAddress = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:middleName:FieldSourceProfileIds' :: Maybe Text
middleName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:personalEmailAddress:FieldSourceProfileIds' :: Maybe Text
personalEmailAddress = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:lastName:FieldSourceProfileIds' :: Maybe Text
lastName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:additionalInformation:FieldSourceProfileIds' :: Maybe Text
additionalInformation = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:homePhoneNumber:FieldSourceProfileIds' :: Maybe Text
homePhoneNumber = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:address:FieldSourceProfileIds' :: Maybe Text
address = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:partyType:FieldSourceProfileIds' :: Maybe Text
partyType = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:businessEmailAddress:FieldSourceProfileIds' :: Maybe Text
businessEmailAddress = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:attributes:FieldSourceProfileIds' :: Maybe (HashMap Text Text)
attributes = Maybe (HashMap Text Text)
forall a. Maybe a
Prelude.Nothing,
      $sel:gender:FieldSourceProfileIds' :: Maybe Text
gender = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:phoneNumber:FieldSourceProfileIds' :: Maybe Text
phoneNumber = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:accountNumber:FieldSourceProfileIds' :: Maybe Text
accountNumber = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:emailAddress:FieldSourceProfileIds' :: Maybe Text
emailAddress = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:firstName:FieldSourceProfileIds' :: Maybe Text
firstName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:billingAddress:FieldSourceProfileIds' :: Maybe Text
billingAddress = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:businessPhoneNumber:FieldSourceProfileIds' :: Maybe Text
businessPhoneNumber = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:birthDate:FieldSourceProfileIds' :: Maybe Text
birthDate = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:businessName:FieldSourceProfileIds' :: Maybe Text
businessName = Maybe Text
forall a. Maybe a
Prelude.Nothing
    }

-- | A unique identifier for the shipping address field to be merged.
fieldSourceProfileIds_shippingAddress :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_shippingAddress :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_shippingAddress = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
shippingAddress :: Maybe Text
$sel:shippingAddress:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
shippingAddress} -> Maybe Text
shippingAddress) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:shippingAddress:FieldSourceProfileIds' :: Maybe Text
shippingAddress = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the mobile phone number field to be merged.
fieldSourceProfileIds_mobilePhoneNumber :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_mobilePhoneNumber :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_mobilePhoneNumber = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
mobilePhoneNumber :: Maybe Text
$sel:mobilePhoneNumber:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
mobilePhoneNumber} -> Maybe Text
mobilePhoneNumber) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:mobilePhoneNumber:FieldSourceProfileIds' :: Maybe Text
mobilePhoneNumber = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the mailing address field to be merged.
fieldSourceProfileIds_mailingAddress :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_mailingAddress :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_mailingAddress = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
mailingAddress :: Maybe Text
$sel:mailingAddress:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
mailingAddress} -> Maybe Text
mailingAddress) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:mailingAddress:FieldSourceProfileIds' :: Maybe Text
mailingAddress = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the middle name field to be merged.
fieldSourceProfileIds_middleName :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_middleName :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_middleName = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
middleName :: Maybe Text
$sel:middleName:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
middleName} -> Maybe Text
middleName) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:middleName:FieldSourceProfileIds' :: Maybe Text
middleName = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the personal email address field to be merged.
fieldSourceProfileIds_personalEmailAddress :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_personalEmailAddress :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_personalEmailAddress = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
personalEmailAddress :: Maybe Text
$sel:personalEmailAddress:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
personalEmailAddress} -> Maybe Text
personalEmailAddress) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:personalEmailAddress:FieldSourceProfileIds' :: Maybe Text
personalEmailAddress = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the last name field to be merged.
fieldSourceProfileIds_lastName :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_lastName :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_lastName = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
lastName :: Maybe Text
$sel:lastName:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
lastName} -> Maybe Text
lastName) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:lastName:FieldSourceProfileIds' :: Maybe Text
lastName = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the additional information field to be merged.
fieldSourceProfileIds_additionalInformation :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_additionalInformation :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_additionalInformation = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
additionalInformation :: Maybe Text
$sel:additionalInformation:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
additionalInformation} -> Maybe Text
additionalInformation) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:additionalInformation:FieldSourceProfileIds' :: Maybe Text
additionalInformation = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the home phone number field to be merged.
fieldSourceProfileIds_homePhoneNumber :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_homePhoneNumber :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_homePhoneNumber = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
homePhoneNumber :: Maybe Text
$sel:homePhoneNumber:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
homePhoneNumber} -> Maybe Text
homePhoneNumber) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:homePhoneNumber:FieldSourceProfileIds' :: Maybe Text
homePhoneNumber = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the party type field to be merged.
fieldSourceProfileIds_address :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_address :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_address = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
address :: Maybe Text
$sel:address:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
address} -> Maybe Text
address) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:address:FieldSourceProfileIds' :: Maybe Text
address = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the party type field to be merged.
fieldSourceProfileIds_partyType :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_partyType :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_partyType = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
partyType :: Maybe Text
$sel:partyType:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
partyType} -> Maybe Text
partyType) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:partyType:FieldSourceProfileIds' :: Maybe Text
partyType = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the party type field to be merged.
fieldSourceProfileIds_businessEmailAddress :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_businessEmailAddress :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_businessEmailAddress = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
businessEmailAddress :: Maybe Text
$sel:businessEmailAddress:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
businessEmailAddress} -> Maybe Text
businessEmailAddress) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:businessEmailAddress:FieldSourceProfileIds' :: Maybe Text
businessEmailAddress = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the attributes field to be merged.
fieldSourceProfileIds_attributes :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
fieldSourceProfileIds_attributes :: (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_attributes = (FieldSourceProfileIds -> Maybe (HashMap Text Text))
-> (FieldSourceProfileIds
    -> Maybe (HashMap Text Text) -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe (HashMap Text Text)
attributes :: Maybe (HashMap Text Text)
$sel:attributes:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe (HashMap Text Text)
attributes} -> Maybe (HashMap Text Text)
attributes) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe (HashMap Text Text)
a -> FieldSourceProfileIds
s {$sel:attributes:FieldSourceProfileIds' :: Maybe (HashMap Text Text)
attributes = Maybe (HashMap Text Text)
a} :: FieldSourceProfileIds) ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
 -> FieldSourceProfileIds -> f FieldSourceProfileIds)
-> ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
    -> Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> FieldSourceProfileIds
-> f FieldSourceProfileIds
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
-> Iso
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | A unique identifier for the gender field to be merged.
fieldSourceProfileIds_gender :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_gender :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_gender = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
gender :: Maybe Text
$sel:gender:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
gender} -> Maybe Text
gender) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:gender:FieldSourceProfileIds' :: Maybe Text
gender = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the phone number field to be merged.
fieldSourceProfileIds_phoneNumber :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_phoneNumber :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_phoneNumber = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
phoneNumber :: Maybe Text
$sel:phoneNumber:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
phoneNumber} -> Maybe Text
phoneNumber) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:phoneNumber:FieldSourceProfileIds' :: Maybe Text
phoneNumber = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the account number field to be merged.
fieldSourceProfileIds_accountNumber :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_accountNumber :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_accountNumber = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
accountNumber :: Maybe Text
$sel:accountNumber:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
accountNumber} -> Maybe Text
accountNumber) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:accountNumber:FieldSourceProfileIds' :: Maybe Text
accountNumber = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the email address field to be merged.
fieldSourceProfileIds_emailAddress :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_emailAddress :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_emailAddress = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
emailAddress :: Maybe Text
$sel:emailAddress:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
emailAddress} -> Maybe Text
emailAddress) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:emailAddress:FieldSourceProfileIds' :: Maybe Text
emailAddress = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the first name field to be merged.
fieldSourceProfileIds_firstName :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_firstName :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_firstName = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
firstName :: Maybe Text
$sel:firstName:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
firstName} -> Maybe Text
firstName) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:firstName:FieldSourceProfileIds' :: Maybe Text
firstName = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the billing type field to be merged.
fieldSourceProfileIds_billingAddress :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_billingAddress :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_billingAddress = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
billingAddress :: Maybe Text
$sel:billingAddress:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
billingAddress} -> Maybe Text
billingAddress) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:billingAddress:FieldSourceProfileIds' :: Maybe Text
billingAddress = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the business phone number field to be merged.
fieldSourceProfileIds_businessPhoneNumber :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_businessPhoneNumber :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_businessPhoneNumber = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
businessPhoneNumber :: Maybe Text
$sel:businessPhoneNumber:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
businessPhoneNumber} -> Maybe Text
businessPhoneNumber) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:businessPhoneNumber:FieldSourceProfileIds' :: Maybe Text
businessPhoneNumber = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the birthdate field to be merged.
fieldSourceProfileIds_birthDate :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_birthDate :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_birthDate = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
birthDate :: Maybe Text
$sel:birthDate:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
birthDate} -> Maybe Text
birthDate) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:birthDate:FieldSourceProfileIds' :: Maybe Text
birthDate = Maybe Text
a} :: FieldSourceProfileIds)

-- | A unique identifier for the business name field to be merged.
fieldSourceProfileIds_businessName :: Lens.Lens' FieldSourceProfileIds (Prelude.Maybe Prelude.Text)
fieldSourceProfileIds_businessName :: (Maybe Text -> f (Maybe Text))
-> FieldSourceProfileIds -> f FieldSourceProfileIds
fieldSourceProfileIds_businessName = (FieldSourceProfileIds -> Maybe Text)
-> (FieldSourceProfileIds -> Maybe Text -> FieldSourceProfileIds)
-> Lens
     FieldSourceProfileIds
     FieldSourceProfileIds
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FieldSourceProfileIds' {Maybe Text
businessName :: Maybe Text
$sel:businessName:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
businessName} -> Maybe Text
businessName) (\s :: FieldSourceProfileIds
s@FieldSourceProfileIds' {} Maybe Text
a -> FieldSourceProfileIds
s {$sel:businessName:FieldSourceProfileIds' :: Maybe Text
businessName = Maybe Text
a} :: FieldSourceProfileIds)

instance Prelude.Hashable FieldSourceProfileIds

instance Prelude.NFData FieldSourceProfileIds

instance Core.ToJSON FieldSourceProfileIds where
  toJSON :: FieldSourceProfileIds -> Value
toJSON FieldSourceProfileIds' {Maybe Text
Maybe (HashMap Text Text)
businessName :: Maybe Text
birthDate :: Maybe Text
businessPhoneNumber :: Maybe Text
billingAddress :: Maybe Text
firstName :: Maybe Text
emailAddress :: Maybe Text
accountNumber :: Maybe Text
phoneNumber :: Maybe Text
gender :: Maybe Text
attributes :: Maybe (HashMap Text Text)
businessEmailAddress :: Maybe Text
partyType :: Maybe Text
address :: Maybe Text
homePhoneNumber :: Maybe Text
additionalInformation :: Maybe Text
lastName :: Maybe Text
personalEmailAddress :: Maybe Text
middleName :: Maybe Text
mailingAddress :: Maybe Text
mobilePhoneNumber :: Maybe Text
shippingAddress :: Maybe Text
$sel:businessName:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:birthDate:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:businessPhoneNumber:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:billingAddress:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:firstName:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:emailAddress:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:accountNumber:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:phoneNumber:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:gender:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:attributes:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe (HashMap Text Text)
$sel:businessEmailAddress:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:partyType:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:address:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:homePhoneNumber:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:additionalInformation:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:lastName:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:personalEmailAddress:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:middleName:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:mailingAddress:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:mobilePhoneNumber:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
$sel:shippingAddress:FieldSourceProfileIds' :: FieldSourceProfileIds -> Maybe Text
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"ShippingAddress" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
shippingAddress,
            (Text
"MobilePhoneNumber" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
mobilePhoneNumber,
            (Text
"MailingAddress" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
mailingAddress,
            (Text
"MiddleName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
middleName,
            (Text
"PersonalEmailAddress" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
personalEmailAddress,
            (Text
"LastName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
lastName,
            (Text
"AdditionalInformation" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
additionalInformation,
            (Text
"HomePhoneNumber" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
homePhoneNumber,
            (Text
"Address" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
address,
            (Text
"PartyType" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
partyType,
            (Text
"BusinessEmailAddress" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
businessEmailAddress,
            (Text
"Attributes" Text -> HashMap Text Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (HashMap Text Text -> Pair)
-> Maybe (HashMap Text Text) -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text Text)
attributes,
            (Text
"Gender" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
gender,
            (Text
"PhoneNumber" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
phoneNumber,
            (Text
"AccountNumber" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
accountNumber,
            (Text
"EmailAddress" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
emailAddress,
            (Text
"FirstName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
firstName,
            (Text
"BillingAddress" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
billingAddress,
            (Text
"BusinessPhoneNumber" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
businessPhoneNumber,
            (Text
"BirthDate" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
birthDate,
            (Text
"BusinessName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
businessName
          ]
      )