{-# LANGUAGE MultiWayIf #-}
-- CHANGE WITH CAUTION: This is a generated code file generated by https://github.com/Haskell-OpenAPI-Code-Generator/Haskell-OpenAPI-Client-Code-Generator.
{-# LANGUAGE OverloadedStrings #-}

-- | Contains the types generated from the schema SourceOwner
module StripeAPI.Types.SourceOwner where

import qualified Control.Monad.Fail
import qualified Data.Aeson
import qualified Data.Aeson as Data.Aeson.Encoding.Internal
import qualified Data.Aeson as Data.Aeson.Types
import qualified Data.Aeson as Data.Aeson.Types.FromJSON
import qualified Data.Aeson as Data.Aeson.Types.Internal
import qualified Data.Aeson as Data.Aeson.Types.ToJSON
import qualified Data.ByteString.Char8
import qualified Data.ByteString.Char8 as Data.ByteString.Internal
import qualified Data.Functor
import qualified Data.Scientific
import qualified Data.Text
import qualified Data.Text.Internal
import qualified Data.Time.Calendar as Data.Time.Calendar.Days
import qualified Data.Time.LocalTime as Data.Time.LocalTime.Internal.ZonedTime
import qualified GHC.Base
import qualified GHC.Classes
import qualified GHC.Int
import qualified GHC.Show
import qualified GHC.Types
import qualified StripeAPI.Common
import StripeAPI.TypeAlias
import {-# SOURCE #-} StripeAPI.Types.Address
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe

-- | Defines the object schema located at @components.schemas.source_owner@ in the specification.
data SourceOwner = SourceOwner
  { -- | address: Owner\'s address.
    SourceOwner -> Maybe SourceOwnerAddress'
sourceOwnerAddress :: (GHC.Maybe.Maybe SourceOwnerAddress'),
    -- | email: Owner\'s email address.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwner -> Maybe Text
sourceOwnerEmail :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | name: Owner\'s full name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwner -> Maybe Text
sourceOwnerName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | phone: Owner\'s phone number (including extension).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwner -> Maybe Text
sourceOwnerPhone :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | verified_address: Verified owner\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
    SourceOwner -> Maybe SourceOwnerVerifiedAddress'
sourceOwnerVerifiedAddress :: (GHC.Maybe.Maybe SourceOwnerVerifiedAddress'),
    -- | verified_email: Verified owner\'s email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwner -> Maybe Text
sourceOwnerVerifiedEmail :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | verified_name: Verified owner\'s full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwner -> Maybe Text
sourceOwnerVerifiedName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | verified_phone: Verified owner\'s phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwner -> Maybe Text
sourceOwnerVerifiedPhone :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> SourceOwner -> ShowS
[SourceOwner] -> ShowS
SourceOwner -> String
(Int -> SourceOwner -> ShowS)
-> (SourceOwner -> String)
-> ([SourceOwner] -> ShowS)
-> Show SourceOwner
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SourceOwner] -> ShowS
$cshowList :: [SourceOwner] -> ShowS
show :: SourceOwner -> String
$cshow :: SourceOwner -> String
showsPrec :: Int -> SourceOwner -> ShowS
$cshowsPrec :: Int -> SourceOwner -> ShowS
GHC.Show.Show,
      SourceOwner -> SourceOwner -> Bool
(SourceOwner -> SourceOwner -> Bool)
-> (SourceOwner -> SourceOwner -> Bool) -> Eq SourceOwner
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SourceOwner -> SourceOwner -> Bool
$c/= :: SourceOwner -> SourceOwner -> Bool
== :: SourceOwner -> SourceOwner -> Bool
$c== :: SourceOwner -> SourceOwner -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON SourceOwner where
  toJSON :: SourceOwner -> Value
toJSON SourceOwner
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"address" Text -> Maybe SourceOwnerAddress' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwner -> Maybe SourceOwnerAddress'
sourceOwnerAddress SourceOwner
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"email" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwner -> Maybe Text
sourceOwnerEmail SourceOwner
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwner -> Maybe Text
sourceOwnerName SourceOwner
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"phone" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwner -> Maybe Text
sourceOwnerPhone SourceOwner
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"verified_address" Text -> Maybe SourceOwnerVerifiedAddress' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwner -> Maybe SourceOwnerVerifiedAddress'
sourceOwnerVerifiedAddress SourceOwner
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"verified_email" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwner -> Maybe Text
sourceOwnerVerifiedEmail SourceOwner
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"verified_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwner -> Maybe Text
sourceOwnerVerifiedName SourceOwner
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"verified_phone" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwner -> Maybe Text
sourceOwnerVerifiedPhone SourceOwner
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: SourceOwner -> Encoding
toEncoding SourceOwner
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"address" Text -> Maybe SourceOwnerAddress' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwner -> Maybe SourceOwnerAddress'
sourceOwnerAddress SourceOwner
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"email" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwner -> Maybe Text
sourceOwnerEmail SourceOwner
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwner -> Maybe Text
sourceOwnerName SourceOwner
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"phone" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwner -> Maybe Text
sourceOwnerPhone SourceOwner
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"verified_address" Text -> Maybe SourceOwnerVerifiedAddress' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwner -> Maybe SourceOwnerVerifiedAddress'
sourceOwnerVerifiedAddress SourceOwner
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"verified_email" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwner -> Maybe Text
sourceOwnerVerifiedEmail SourceOwner
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"verified_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwner -> Maybe Text
sourceOwnerVerifiedName SourceOwner
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"verified_phone" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwner -> Maybe Text
sourceOwnerVerifiedPhone SourceOwner
obj))))))))

instance Data.Aeson.Types.FromJSON.FromJSON SourceOwner where
  parseJSON :: Value -> Parser SourceOwner
parseJSON = String
-> (Object -> Parser SourceOwner) -> Value -> Parser SourceOwner
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"SourceOwner" (\Object
obj -> ((((((((Maybe SourceOwnerAddress'
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceOwnerVerifiedAddress'
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> SourceOwner)
-> Parser
     (Maybe SourceOwnerAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceOwnerVerifiedAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SourceOwner)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe SourceOwnerAddress'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SourceOwnerVerifiedAddress'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> SourceOwner
SourceOwner Parser
  (Maybe SourceOwnerAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceOwnerVerifiedAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> SourceOwner)
-> Parser (Maybe SourceOwnerAddress')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceOwnerVerifiedAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SourceOwner)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceOwnerAddress')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceOwnerVerifiedAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> SourceOwner)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceOwnerVerifiedAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SourceOwner)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"email")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe SourceOwnerVerifiedAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> SourceOwner)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceOwnerVerifiedAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SourceOwner)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"name")) Parser
  (Maybe Text
   -> Maybe SourceOwnerVerifiedAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> SourceOwner)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceOwnerVerifiedAddress'
      -> Maybe Text -> Maybe Text -> Maybe Text -> SourceOwner)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"phone")) Parser
  (Maybe SourceOwnerVerifiedAddress'
   -> Maybe Text -> Maybe Text -> Maybe Text -> SourceOwner)
-> Parser (Maybe SourceOwnerVerifiedAddress')
-> Parser (Maybe Text -> Maybe Text -> Maybe Text -> SourceOwner)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceOwnerVerifiedAddress')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"verified_address")) Parser (Maybe Text -> Maybe Text -> Maybe Text -> SourceOwner)
-> Parser (Maybe Text)
-> Parser (Maybe Text -> Maybe Text -> SourceOwner)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"verified_email")) Parser (Maybe Text -> Maybe Text -> SourceOwner)
-> Parser (Maybe Text) -> Parser (Maybe Text -> SourceOwner)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"verified_name")) Parser (Maybe Text -> SourceOwner)
-> Parser (Maybe Text) -> Parser SourceOwner
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"verified_phone"))

-- | Create a new 'SourceOwner' with all required fields.
mkSourceOwner :: SourceOwner
mkSourceOwner :: SourceOwner
mkSourceOwner =
  SourceOwner :: Maybe SourceOwnerAddress'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SourceOwnerVerifiedAddress'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> SourceOwner
SourceOwner
    { sourceOwnerAddress :: Maybe SourceOwnerAddress'
sourceOwnerAddress = Maybe SourceOwnerAddress'
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerEmail :: Maybe Text
sourceOwnerEmail = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerName :: Maybe Text
sourceOwnerName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerPhone :: Maybe Text
sourceOwnerPhone = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerVerifiedAddress :: Maybe SourceOwnerVerifiedAddress'
sourceOwnerVerifiedAddress = Maybe SourceOwnerVerifiedAddress'
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerVerifiedEmail :: Maybe Text
sourceOwnerVerifiedEmail = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerVerifiedName :: Maybe Text
sourceOwnerVerifiedName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerVerifiedPhone :: Maybe Text
sourceOwnerVerifiedPhone = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @components.schemas.source_owner.properties.address.anyOf@ in the specification.
--
-- Owner\\\'s address.
data SourceOwnerAddress' = SourceOwnerAddress'
  { -- | city: City, district, suburb, town, or village.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line1: Address line 1 (e.g., street, PO Box, or company name).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line2: Address line 2 (e.g., apartment, suite, unit, or building).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code: ZIP or postal code.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state: State, county, province, or region.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> SourceOwnerAddress' -> ShowS
[SourceOwnerAddress'] -> ShowS
SourceOwnerAddress' -> String
(Int -> SourceOwnerAddress' -> ShowS)
-> (SourceOwnerAddress' -> String)
-> ([SourceOwnerAddress'] -> ShowS)
-> Show SourceOwnerAddress'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SourceOwnerAddress'] -> ShowS
$cshowList :: [SourceOwnerAddress'] -> ShowS
show :: SourceOwnerAddress' -> String
$cshow :: SourceOwnerAddress' -> String
showsPrec :: Int -> SourceOwnerAddress' -> ShowS
$cshowsPrec :: Int -> SourceOwnerAddress' -> ShowS
GHC.Show.Show,
      SourceOwnerAddress' -> SourceOwnerAddress' -> Bool
(SourceOwnerAddress' -> SourceOwnerAddress' -> Bool)
-> (SourceOwnerAddress' -> SourceOwnerAddress' -> Bool)
-> Eq SourceOwnerAddress'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SourceOwnerAddress' -> SourceOwnerAddress' -> Bool
$c/= :: SourceOwnerAddress' -> SourceOwnerAddress' -> Bool
== :: SourceOwnerAddress' -> SourceOwnerAddress' -> Bool
$c== :: SourceOwnerAddress' -> SourceOwnerAddress' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON SourceOwnerAddress' where
  toJSON :: SourceOwnerAddress' -> Value
toJSON SourceOwnerAddress'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"city" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'City SourceOwnerAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"country" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'Country SourceOwnerAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"line1" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'Line1 SourceOwnerAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"line2" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'Line2 SourceOwnerAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"postal_code" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'PostalCode SourceOwnerAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"state" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'State SourceOwnerAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: SourceOwnerAddress' -> Encoding
toEncoding SourceOwnerAddress'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"city" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'City SourceOwnerAddress'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"country" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'Country SourceOwnerAddress'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"line1" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'Line1 SourceOwnerAddress'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"line2" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'Line2 SourceOwnerAddress'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"postal_code" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'PostalCode SourceOwnerAddress'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"state" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerAddress' -> Maybe Text
sourceOwnerAddress'State SourceOwnerAddress'
obj))))))

instance Data.Aeson.Types.FromJSON.FromJSON SourceOwnerAddress' where
  parseJSON :: Value -> Parser SourceOwnerAddress'
parseJSON = String
-> (Object -> Parser SourceOwnerAddress')
-> Value
-> Parser SourceOwnerAddress'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"SourceOwnerAddress'" (\Object
obj -> ((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> SourceOwnerAddress')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SourceOwnerAddress')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> SourceOwnerAddress'
SourceOwnerAddress' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> SourceOwnerAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SourceOwnerAddress')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"city")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> SourceOwnerAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> Maybe Text -> Maybe Text -> SourceOwnerAddress')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"country")) Parser
  (Maybe Text
   -> Maybe Text -> Maybe Text -> Maybe Text -> SourceOwnerAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text -> Maybe Text -> Maybe Text -> SourceOwnerAddress')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"line1")) Parser
  (Maybe Text -> Maybe Text -> Maybe Text -> SourceOwnerAddress')
-> Parser (Maybe Text)
-> Parser (Maybe Text -> Maybe Text -> SourceOwnerAddress')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"line2")) Parser (Maybe Text -> Maybe Text -> SourceOwnerAddress')
-> Parser (Maybe Text)
-> Parser (Maybe Text -> SourceOwnerAddress')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"postal_code")) Parser (Maybe Text -> SourceOwnerAddress')
-> Parser (Maybe Text) -> Parser SourceOwnerAddress'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"state"))

-- | Create a new 'SourceOwnerAddress'' with all required fields.
mkSourceOwnerAddress' :: SourceOwnerAddress'
mkSourceOwnerAddress' :: SourceOwnerAddress'
mkSourceOwnerAddress' =
  SourceOwnerAddress' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> SourceOwnerAddress'
SourceOwnerAddress'
    { sourceOwnerAddress'City :: Maybe Text
sourceOwnerAddress'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerAddress'Country :: Maybe Text
sourceOwnerAddress'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerAddress'Line1 :: Maybe Text
sourceOwnerAddress'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerAddress'Line2 :: Maybe Text
sourceOwnerAddress'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerAddress'PostalCode :: Maybe Text
sourceOwnerAddress'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerAddress'State :: Maybe Text
sourceOwnerAddress'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @components.schemas.source_owner.properties.verified_address.anyOf@ in the specification.
--
-- Verified owner\\\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
data SourceOwnerVerifiedAddress' = SourceOwnerVerifiedAddress'
  { -- | city: City, district, suburb, town, or village.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line1: Address line 1 (e.g., street, PO Box, or company name).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line2: Address line 2 (e.g., apartment, suite, unit, or building).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code: ZIP or postal code.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state: State, county, province, or region.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> SourceOwnerVerifiedAddress' -> ShowS
[SourceOwnerVerifiedAddress'] -> ShowS
SourceOwnerVerifiedAddress' -> String
(Int -> SourceOwnerVerifiedAddress' -> ShowS)
-> (SourceOwnerVerifiedAddress' -> String)
-> ([SourceOwnerVerifiedAddress'] -> ShowS)
-> Show SourceOwnerVerifiedAddress'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SourceOwnerVerifiedAddress'] -> ShowS
$cshowList :: [SourceOwnerVerifiedAddress'] -> ShowS
show :: SourceOwnerVerifiedAddress' -> String
$cshow :: SourceOwnerVerifiedAddress' -> String
showsPrec :: Int -> SourceOwnerVerifiedAddress' -> ShowS
$cshowsPrec :: Int -> SourceOwnerVerifiedAddress' -> ShowS
GHC.Show.Show,
      SourceOwnerVerifiedAddress' -> SourceOwnerVerifiedAddress' -> Bool
(SourceOwnerVerifiedAddress'
 -> SourceOwnerVerifiedAddress' -> Bool)
-> (SourceOwnerVerifiedAddress'
    -> SourceOwnerVerifiedAddress' -> Bool)
-> Eq SourceOwnerVerifiedAddress'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SourceOwnerVerifiedAddress' -> SourceOwnerVerifiedAddress' -> Bool
$c/= :: SourceOwnerVerifiedAddress' -> SourceOwnerVerifiedAddress' -> Bool
== :: SourceOwnerVerifiedAddress' -> SourceOwnerVerifiedAddress' -> Bool
$c== :: SourceOwnerVerifiedAddress' -> SourceOwnerVerifiedAddress' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON SourceOwnerVerifiedAddress' where
  toJSON :: SourceOwnerVerifiedAddress' -> Value
toJSON SourceOwnerVerifiedAddress'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"city" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'City SourceOwnerVerifiedAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"country" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'Country SourceOwnerVerifiedAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"line1" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'Line1 SourceOwnerVerifiedAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"line2" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'Line2 SourceOwnerVerifiedAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"postal_code" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'PostalCode SourceOwnerVerifiedAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"state" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'State SourceOwnerVerifiedAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: SourceOwnerVerifiedAddress' -> Encoding
toEncoding SourceOwnerVerifiedAddress'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"city" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'City SourceOwnerVerifiedAddress'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"country" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'Country SourceOwnerVerifiedAddress'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"line1" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'Line1 SourceOwnerVerifiedAddress'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"line2" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'Line2 SourceOwnerVerifiedAddress'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"postal_code" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'PostalCode SourceOwnerVerifiedAddress'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"state" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceOwnerVerifiedAddress' -> Maybe Text
sourceOwnerVerifiedAddress'State SourceOwnerVerifiedAddress'
obj))))))

instance Data.Aeson.Types.FromJSON.FromJSON SourceOwnerVerifiedAddress' where
  parseJSON :: Value -> Parser SourceOwnerVerifiedAddress'
parseJSON = String
-> (Object -> Parser SourceOwnerVerifiedAddress')
-> Value
-> Parser SourceOwnerVerifiedAddress'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"SourceOwnerVerifiedAddress'" (\Object
obj -> ((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> SourceOwnerVerifiedAddress')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SourceOwnerVerifiedAddress')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> SourceOwnerVerifiedAddress'
SourceOwnerVerifiedAddress' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> SourceOwnerVerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SourceOwnerVerifiedAddress')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"city")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> SourceOwnerVerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SourceOwnerVerifiedAddress')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"country")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> SourceOwnerVerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> Maybe Text -> SourceOwnerVerifiedAddress')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"line1")) Parser
  (Maybe Text
   -> Maybe Text -> Maybe Text -> SourceOwnerVerifiedAddress')
-> Parser (Maybe Text)
-> Parser (Maybe Text -> Maybe Text -> SourceOwnerVerifiedAddress')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"line2")) Parser (Maybe Text -> Maybe Text -> SourceOwnerVerifiedAddress')
-> Parser (Maybe Text)
-> Parser (Maybe Text -> SourceOwnerVerifiedAddress')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"postal_code")) Parser (Maybe Text -> SourceOwnerVerifiedAddress')
-> Parser (Maybe Text) -> Parser SourceOwnerVerifiedAddress'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"state"))

-- | Create a new 'SourceOwnerVerifiedAddress'' with all required fields.
mkSourceOwnerVerifiedAddress' :: SourceOwnerVerifiedAddress'
mkSourceOwnerVerifiedAddress' :: SourceOwnerVerifiedAddress'
mkSourceOwnerVerifiedAddress' =
  SourceOwnerVerifiedAddress' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> SourceOwnerVerifiedAddress'
SourceOwnerVerifiedAddress'
    { sourceOwnerVerifiedAddress'City :: Maybe Text
sourceOwnerVerifiedAddress'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerVerifiedAddress'Country :: Maybe Text
sourceOwnerVerifiedAddress'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerVerifiedAddress'Line1 :: Maybe Text
sourceOwnerVerifiedAddress'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerVerifiedAddress'Line2 :: Maybe Text
sourceOwnerVerifiedAddress'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerVerifiedAddress'PostalCode :: Maybe Text
sourceOwnerVerifiedAddress'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceOwnerVerifiedAddress'State :: Maybe Text
sourceOwnerVerifiedAddress'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }