{-# LANGUAGE ExplicitForAll #-}
{-# 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 different functions to run the operation postAccount
module StripeAPI.Operations.PostAccount where

import qualified Control.Monad.Fail
import qualified Control.Monad.Trans.Reader
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.Either
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 Data.Vector
import qualified GHC.Base
import qualified GHC.Classes
import qualified GHC.Int
import qualified GHC.Show
import qualified GHC.Types
import qualified Network.HTTP.Client
import qualified Network.HTTP.Client as Network.HTTP.Client.Request
import qualified Network.HTTP.Client as Network.HTTP.Client.Types
import qualified Network.HTTP.Simple
import qualified Network.HTTP.Types
import qualified Network.HTTP.Types as Network.HTTP.Types.Status
import qualified Network.HTTP.Types as Network.HTTP.Types.URI
import qualified StripeAPI.Common
import StripeAPI.Types
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe

-- | > POST /v1/account
--
-- \<p>Updates a \<a href=\"\/docs\/connect\/accounts\">connected account\<\/a> by setting the values of the parameters passed. Any parameters not provided are left unchanged. Most parameters can be changed only for Custom accounts. (These are marked \<strong>Custom Only\<\/strong> below.) Parameters marked \<strong>Custom and Express\<\/strong> are not supported for Standard accounts.\<\/p>
--
-- \<p>To update your own account, use the \<a href=\"https:\/\/dashboard.stripe.com\/account\">Dashboard\<\/a>. Refer to our \<a href=\"\/docs\/connect\/updating-accounts\">Connect\<\/a> documentation to learn more about updating accounts.\<\/p>
postAccount ::
  forall m.
  StripeAPI.Common.MonadHTTP m =>
  -- | The request body to send
  GHC.Maybe.Maybe PostAccountRequestBody ->
  -- | Monadic computation which returns the result of the operation
  StripeAPI.Common.StripeT m (Network.HTTP.Client.Types.Response PostAccountResponse)
postAccount :: Maybe PostAccountRequestBody
-> StripeT m (Response PostAccountResponse)
postAccount Maybe PostAccountRequestBody
body =
  (Response ByteString -> Response PostAccountResponse)
-> StripeT m (Response ByteString)
-> StripeT m (Response PostAccountResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
    ( \Response ByteString
response_0 ->
        (ByteString -> PostAccountResponse)
-> Response ByteString -> Response PostAccountResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
          ( (String -> PostAccountResponse)
-> (PostAccountResponse -> PostAccountResponse)
-> Either String PostAccountResponse
-> PostAccountResponse
forall a c b. (a -> c) -> (b -> c) -> Either a b -> c
Data.Either.either String -> PostAccountResponse
PostAccountResponseError PostAccountResponse -> PostAccountResponse
forall a. a -> a
GHC.Base.id
              (Either String PostAccountResponse -> PostAccountResponse)
-> (ByteString -> Either String PostAccountResponse)
-> ByteString
-> PostAccountResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. ( \Response ByteString
response ByteString
body ->
                             if
                                 | (\Status
status_1 -> Status -> Int
Network.HTTP.Types.Status.statusCode Status
status_1 Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Int
200) (Response ByteString -> Status
forall body. Response body -> Status
Network.HTTP.Client.Types.responseStatus Response ByteString
response) ->
                                   Account -> PostAccountResponse
PostAccountResponse200
                                     (Account -> PostAccountResponse)
-> Either String Account -> Either String PostAccountResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> ( ByteString -> Either String Account
forall a. FromJSON a => ByteString -> Either String a
Data.Aeson.eitherDecodeStrict ByteString
body ::
                                                          Data.Either.Either
                                                            GHC.Base.String
                                                            Account
                                                      )
                                 | Bool -> Status -> Bool
forall a b. a -> b -> a
GHC.Base.const Bool
GHC.Types.True (Response ByteString -> Status
forall body. Response body -> Status
Network.HTTP.Client.Types.responseStatus Response ByteString
response) ->
                                   Error -> PostAccountResponse
PostAccountResponseDefault
                                     (Error -> PostAccountResponse)
-> Either String Error -> Either String PostAccountResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> ( ByteString -> Either String Error
forall a. FromJSON a => ByteString -> Either String a
Data.Aeson.eitherDecodeStrict ByteString
body ::
                                                          Data.Either.Either
                                                            GHC.Base.String
                                                            Error
                                                      )
                                 | Bool
GHC.Base.otherwise -> String -> Either String PostAccountResponse
forall a b. a -> Either a b
Data.Either.Left String
"Missing default response type"
                         )
                Response ByteString
response_0
          )
          Response ByteString
response_0
    )
    (Text
-> Text
-> [QueryParameter]
-> Maybe PostAccountRequestBody
-> RequestBodyEncoding
-> StripeT m (Response ByteString)
forall (m :: * -> *) body.
(MonadHTTP m, ToJSON body) =>
Text
-> Text
-> [QueryParameter]
-> Maybe body
-> RequestBodyEncoding
-> StripeT m (Response ByteString)
StripeAPI.Common.doBodyCallWithConfigurationM (Text -> Text
Data.Text.toUpper (Text -> Text) -> Text -> Text
forall a b. (a -> b) -> a -> b
GHC.Base.$ String -> Text
Data.Text.pack String
"POST") (String -> Text
Data.Text.pack String
"/v1/account") [QueryParameter]
forall a. Monoid a => a
GHC.Base.mempty Maybe PostAccountRequestBody
body RequestBodyEncoding
StripeAPI.Common.RequestBodyEncodingFormData)

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema@ in the specification.
data PostAccountRequestBody = PostAccountRequestBody
  { -- | account_token: An [account token](https:\/\/stripe.com\/docs\/api\#create_account_token), used to securely provide details to the account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBody -> Maybe Text
postAccountRequestBodyAccountToken :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | bank_account: Either a token, like the ones returned by [Stripe.js](https:\/\/stripe.com\/docs\/stripe.js), or a dictionary containing a user\'s bank account details.
    PostAccountRequestBody
-> Maybe PostAccountRequestBodyBankAccount'Variants
postAccountRequestBodyBankAccount :: (GHC.Maybe.Maybe PostAccountRequestBodyBankAccount'Variants),
    -- | business_profile: Business information about the account.
    PostAccountRequestBody
-> Maybe PostAccountRequestBodyBusinessProfile'
postAccountRequestBodyBusinessProfile :: (GHC.Maybe.Maybe PostAccountRequestBodyBusinessProfile'),
    -- | business_type: The business type.
    PostAccountRequestBody -> Maybe PostAccountRequestBodyBusinessType'
postAccountRequestBodyBusinessType :: (GHC.Maybe.Maybe PostAccountRequestBodyBusinessType'),
    -- | capabilities: Each key of the dictionary represents a capability, and each capability maps to its settings (e.g. whether it has been requested or not). Each capability will be inactive until you have provided its specific requirements and Stripe has verified them. An account may have some of its requested capabilities be active and some be inactive.
    PostAccountRequestBody -> Maybe PostAccountRequestBodyCapabilities'
postAccountRequestBodyCapabilities :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'),
    -- | company: Information about the company or business. This field is available for any \`business_type\`.
    PostAccountRequestBody -> Maybe PostAccountRequestBodyCompany'
postAccountRequestBodyCompany :: (GHC.Maybe.Maybe PostAccountRequestBodyCompany'),
    -- | default_currency: Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account\'s country](https:\/\/stripe.com\/docs\/payouts).
    PostAccountRequestBody -> Maybe Text
postAccountRequestBodyDefaultCurrency :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | documents: Documents that may be submitted to satisfy various informational requests.
    PostAccountRequestBody -> Maybe PostAccountRequestBodyDocuments'
postAccountRequestBodyDocuments :: (GHC.Maybe.Maybe PostAccountRequestBodyDocuments'),
    -- | email: The email address of the account holder. This is only to make the account easier to identify to you. Stripe will never directly email Custom accounts.
    PostAccountRequestBody -> Maybe Text
postAccountRequestBodyEmail :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | expand: Specifies which fields in the response should be expanded.
    PostAccountRequestBody -> Maybe [Text]
postAccountRequestBodyExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])),
    -- | external_account: A card or bank account to attach to the account for receiving [payouts](https:\/\/stripe.com\/docs\/connect\/bank-debit-card-payouts) (you won’t be able to use it for top-ups). You can provide either a token, like the ones returned by [Stripe.js](https:\/\/stripe.com\/docs\/stripe.js), or a dictionary, as documented in the \`external_account\` parameter for [bank account](https:\/\/stripe.com\/docs\/api\#account_create_bank_account) creation. \<br>\<br>By default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the bank account or card creation API.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBody -> Maybe Text
postAccountRequestBodyExternalAccount :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | individual: Information about the person represented by the account. This field is null unless \`business_type\` is set to \`individual\`.
    PostAccountRequestBody -> Maybe PostAccountRequestBodyIndividual'
postAccountRequestBodyIndividual :: (GHC.Maybe.Maybe PostAccountRequestBodyIndividual'),
    -- | metadata: Set of [key-value pairs](https:\/\/stripe.com\/docs\/api\/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to \`metadata\`.
    PostAccountRequestBody
-> Maybe PostAccountRequestBodyMetadata'Variants
postAccountRequestBodyMetadata :: (GHC.Maybe.Maybe PostAccountRequestBodyMetadata'Variants),
    -- | settings: Options for customizing how the account functions within Stripe.
    PostAccountRequestBody -> Maybe PostAccountRequestBodySettings'
postAccountRequestBodySettings :: (GHC.Maybe.Maybe PostAccountRequestBodySettings'),
    -- | tos_acceptance: Details on the account\'s acceptance of the [Stripe Services Agreement](https:\/\/stripe.com\/docs\/connect\/updating-accounts\#tos-acceptance).
    PostAccountRequestBody
-> Maybe PostAccountRequestBodyTosAcceptance'
postAccountRequestBodyTosAcceptance :: (GHC.Maybe.Maybe PostAccountRequestBodyTosAcceptance')
  }
  deriving
    ( Int -> PostAccountRequestBody -> ShowS
[PostAccountRequestBody] -> ShowS
PostAccountRequestBody -> String
(Int -> PostAccountRequestBody -> ShowS)
-> (PostAccountRequestBody -> String)
-> ([PostAccountRequestBody] -> ShowS)
-> Show PostAccountRequestBody
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBody] -> ShowS
$cshowList :: [PostAccountRequestBody] -> ShowS
show :: PostAccountRequestBody -> String
$cshow :: PostAccountRequestBody -> String
showsPrec :: Int -> PostAccountRequestBody -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBody -> ShowS
GHC.Show.Show,
      PostAccountRequestBody -> PostAccountRequestBody -> Bool
(PostAccountRequestBody -> PostAccountRequestBody -> Bool)
-> (PostAccountRequestBody -> PostAccountRequestBody -> Bool)
-> Eq PostAccountRequestBody
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBody -> PostAccountRequestBody -> Bool
$c/= :: PostAccountRequestBody -> PostAccountRequestBody -> Bool
== :: PostAccountRequestBody -> PostAccountRequestBody -> Bool
$c== :: PostAccountRequestBody -> PostAccountRequestBody -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBody where
  toJSON :: PostAccountRequestBody -> Value
toJSON PostAccountRequestBody
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"account_token" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe Text
postAccountRequestBodyAccountToken PostAccountRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"bank_account" Text -> Maybe PostAccountRequestBodyBankAccount'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody
-> Maybe PostAccountRequestBodyBankAccount'Variants
postAccountRequestBodyBankAccount PostAccountRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"business_profile" Text -> Maybe PostAccountRequestBodyBusinessProfile' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody
-> Maybe PostAccountRequestBodyBusinessProfile'
postAccountRequestBodyBusinessProfile PostAccountRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"business_type" Text -> Maybe PostAccountRequestBodyBusinessType' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe PostAccountRequestBodyBusinessType'
postAccountRequestBodyBusinessType PostAccountRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"capabilities" Text -> Maybe PostAccountRequestBodyCapabilities' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe PostAccountRequestBodyCapabilities'
postAccountRequestBodyCapabilities PostAccountRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"company" Text -> Maybe PostAccountRequestBodyCompany' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe PostAccountRequestBodyCompany'
postAccountRequestBodyCompany PostAccountRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"default_currency" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe Text
postAccountRequestBodyDefaultCurrency PostAccountRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"documents" Text -> Maybe PostAccountRequestBodyDocuments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe PostAccountRequestBodyDocuments'
postAccountRequestBodyDocuments PostAccountRequestBody
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..= PostAccountRequestBody -> Maybe Text
postAccountRequestBodyEmail PostAccountRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"expand" Text -> Maybe [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe [Text]
postAccountRequestBodyExpand PostAccountRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"external_account" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe Text
postAccountRequestBodyExternalAccount PostAccountRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"individual" Text -> Maybe PostAccountRequestBodyIndividual' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe PostAccountRequestBodyIndividual'
postAccountRequestBodyIndividual PostAccountRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"metadata" Text -> Maybe PostAccountRequestBodyMetadata'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody
-> Maybe PostAccountRequestBodyMetadata'Variants
postAccountRequestBodyMetadata PostAccountRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"settings" Text -> Maybe PostAccountRequestBodySettings' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe PostAccountRequestBodySettings'
postAccountRequestBodySettings PostAccountRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tos_acceptance" Text -> Maybe PostAccountRequestBodyTosAcceptance' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody
-> Maybe PostAccountRequestBodyTosAcceptance'
postAccountRequestBodyTosAcceptance PostAccountRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBody -> Encoding
toEncoding PostAccountRequestBody
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"account_token" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe Text
postAccountRequestBodyAccountToken PostAccountRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"bank_account" Text -> Maybe PostAccountRequestBodyBankAccount'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody
-> Maybe PostAccountRequestBodyBankAccount'Variants
postAccountRequestBodyBankAccount PostAccountRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"business_profile" Text -> Maybe PostAccountRequestBodyBusinessProfile' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody
-> Maybe PostAccountRequestBodyBusinessProfile'
postAccountRequestBodyBusinessProfile PostAccountRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"business_type" Text -> Maybe PostAccountRequestBodyBusinessType' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe PostAccountRequestBodyBusinessType'
postAccountRequestBodyBusinessType PostAccountRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"capabilities" Text -> Maybe PostAccountRequestBodyCapabilities' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe PostAccountRequestBodyCapabilities'
postAccountRequestBodyCapabilities PostAccountRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"company" Text -> Maybe PostAccountRequestBodyCompany' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe PostAccountRequestBodyCompany'
postAccountRequestBodyCompany PostAccountRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"default_currency" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe Text
postAccountRequestBodyDefaultCurrency PostAccountRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"documents" Text -> Maybe PostAccountRequestBodyDocuments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe PostAccountRequestBodyDocuments'
postAccountRequestBodyDocuments PostAccountRequestBody
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..= PostAccountRequestBody -> Maybe Text
postAccountRequestBodyEmail PostAccountRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"expand" Text -> Maybe [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe [Text]
postAccountRequestBodyExpand PostAccountRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"external_account" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe Text
postAccountRequestBodyExternalAccount PostAccountRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"individual" Text -> Maybe PostAccountRequestBodyIndividual' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe PostAccountRequestBodyIndividual'
postAccountRequestBodyIndividual PostAccountRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"metadata" Text -> Maybe PostAccountRequestBodyMetadata'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody
-> Maybe PostAccountRequestBodyMetadata'Variants
postAccountRequestBodyMetadata PostAccountRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"settings" Text -> Maybe PostAccountRequestBodySettings' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody -> Maybe PostAccountRequestBodySettings'
postAccountRequestBodySettings PostAccountRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"tos_acceptance" Text -> Maybe PostAccountRequestBodyTosAcceptance' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBody
-> Maybe PostAccountRequestBodyTosAcceptance'
postAccountRequestBodyTosAcceptance PostAccountRequestBody
obj)))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBody where
  parseJSON :: Value -> Parser PostAccountRequestBody
parseJSON = String
-> (Object -> Parser PostAccountRequestBody)
-> Value
-> Parser PostAccountRequestBody
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBody" (\Object
obj -> (((((((((((((((Maybe Text
 -> Maybe PostAccountRequestBodyBankAccount'Variants
 -> Maybe PostAccountRequestBodyBusinessProfile'
 -> Maybe PostAccountRequestBodyBusinessType'
 -> Maybe PostAccountRequestBodyCapabilities'
 -> Maybe PostAccountRequestBodyCompany'
 -> Maybe Text
 -> Maybe PostAccountRequestBodyDocuments'
 -> Maybe Text
 -> Maybe [Text]
 -> Maybe Text
 -> Maybe PostAccountRequestBodyIndividual'
 -> Maybe PostAccountRequestBodyMetadata'Variants
 -> Maybe PostAccountRequestBodySettings'
 -> Maybe PostAccountRequestBodyTosAcceptance'
 -> PostAccountRequestBody)
-> Parser
     (Maybe Text
      -> Maybe PostAccountRequestBodyBankAccount'Variants
      -> Maybe PostAccountRequestBodyBusinessProfile'
      -> Maybe PostAccountRequestBodyBusinessType'
      -> Maybe PostAccountRequestBodyCapabilities'
      -> Maybe PostAccountRequestBodyCompany'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyDocuments'
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'
      -> Maybe PostAccountRequestBodyMetadata'Variants
      -> Maybe PostAccountRequestBodySettings'
      -> Maybe PostAccountRequestBodyTosAcceptance'
      -> PostAccountRequestBody)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe PostAccountRequestBodyBankAccount'Variants
-> Maybe PostAccountRequestBodyBusinessProfile'
-> Maybe PostAccountRequestBodyBusinessType'
-> Maybe PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCompany'
-> Maybe Text
-> Maybe PostAccountRequestBodyDocuments'
-> Maybe Text
-> Maybe [Text]
-> Maybe Text
-> Maybe PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyMetadata'Variants
-> Maybe PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodyTosAcceptance'
-> PostAccountRequestBody
PostAccountRequestBody Parser
  (Maybe Text
   -> Maybe PostAccountRequestBodyBankAccount'Variants
   -> Maybe PostAccountRequestBodyBusinessProfile'
   -> Maybe PostAccountRequestBodyBusinessType'
   -> Maybe PostAccountRequestBodyCapabilities'
   -> Maybe PostAccountRequestBodyCompany'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyDocuments'
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'
   -> Maybe PostAccountRequestBodyMetadata'Variants
   -> Maybe PostAccountRequestBodySettings'
   -> Maybe PostAccountRequestBodyTosAcceptance'
   -> PostAccountRequestBody)
-> Parser (Maybe Text)
-> Parser
     (Maybe PostAccountRequestBodyBankAccount'Variants
      -> Maybe PostAccountRequestBodyBusinessProfile'
      -> Maybe PostAccountRequestBodyBusinessType'
      -> Maybe PostAccountRequestBodyCapabilities'
      -> Maybe PostAccountRequestBodyCompany'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyDocuments'
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'
      -> Maybe PostAccountRequestBodyMetadata'Variants
      -> Maybe PostAccountRequestBodySettings'
      -> Maybe PostAccountRequestBodyTosAcceptance'
      -> PostAccountRequestBody)
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
"account_token")) Parser
  (Maybe PostAccountRequestBodyBankAccount'Variants
   -> Maybe PostAccountRequestBodyBusinessProfile'
   -> Maybe PostAccountRequestBodyBusinessType'
   -> Maybe PostAccountRequestBodyCapabilities'
   -> Maybe PostAccountRequestBodyCompany'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyDocuments'
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'
   -> Maybe PostAccountRequestBodyMetadata'Variants
   -> Maybe PostAccountRequestBodySettings'
   -> Maybe PostAccountRequestBodyTosAcceptance'
   -> PostAccountRequestBody)
-> Parser (Maybe PostAccountRequestBodyBankAccount'Variants)
-> Parser
     (Maybe PostAccountRequestBodyBusinessProfile'
      -> Maybe PostAccountRequestBodyBusinessType'
      -> Maybe PostAccountRequestBodyCapabilities'
      -> Maybe PostAccountRequestBodyCompany'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyDocuments'
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'
      -> Maybe PostAccountRequestBodyMetadata'Variants
      -> Maybe PostAccountRequestBodySettings'
      -> Maybe PostAccountRequestBodyTosAcceptance'
      -> PostAccountRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyBankAccount'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"bank_account")) Parser
  (Maybe PostAccountRequestBodyBusinessProfile'
   -> Maybe PostAccountRequestBodyBusinessType'
   -> Maybe PostAccountRequestBodyCapabilities'
   -> Maybe PostAccountRequestBodyCompany'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyDocuments'
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'
   -> Maybe PostAccountRequestBodyMetadata'Variants
   -> Maybe PostAccountRequestBodySettings'
   -> Maybe PostAccountRequestBodyTosAcceptance'
   -> PostAccountRequestBody)
-> Parser (Maybe PostAccountRequestBodyBusinessProfile')
-> Parser
     (Maybe PostAccountRequestBodyBusinessType'
      -> Maybe PostAccountRequestBodyCapabilities'
      -> Maybe PostAccountRequestBodyCompany'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyDocuments'
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'
      -> Maybe PostAccountRequestBodyMetadata'Variants
      -> Maybe PostAccountRequestBodySettings'
      -> Maybe PostAccountRequestBodyTosAcceptance'
      -> PostAccountRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe PostAccountRequestBodyBusinessProfile')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"business_profile")) Parser
  (Maybe PostAccountRequestBodyBusinessType'
   -> Maybe PostAccountRequestBodyCapabilities'
   -> Maybe PostAccountRequestBodyCompany'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyDocuments'
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'
   -> Maybe PostAccountRequestBodyMetadata'Variants
   -> Maybe PostAccountRequestBodySettings'
   -> Maybe PostAccountRequestBodyTosAcceptance'
   -> PostAccountRequestBody)
-> Parser (Maybe PostAccountRequestBodyBusinessType')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'
      -> Maybe PostAccountRequestBodyCompany'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyDocuments'
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'
      -> Maybe PostAccountRequestBodyMetadata'Variants
      -> Maybe PostAccountRequestBodySettings'
      -> Maybe PostAccountRequestBodyTosAcceptance'
      -> PostAccountRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe PostAccountRequestBodyBusinessType')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"business_type")) Parser
  (Maybe PostAccountRequestBodyCapabilities'
   -> Maybe PostAccountRequestBodyCompany'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyDocuments'
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'
   -> Maybe PostAccountRequestBodyMetadata'Variants
   -> Maybe PostAccountRequestBodySettings'
   -> Maybe PostAccountRequestBodyTosAcceptance'
   -> PostAccountRequestBody)
-> Parser (Maybe PostAccountRequestBodyCapabilities')
-> Parser
     (Maybe PostAccountRequestBodyCompany'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyDocuments'
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'
      -> Maybe PostAccountRequestBodyMetadata'Variants
      -> Maybe PostAccountRequestBodySettings'
      -> Maybe PostAccountRequestBodyTosAcceptance'
      -> PostAccountRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe PostAccountRequestBodyCapabilities')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"capabilities")) Parser
  (Maybe PostAccountRequestBodyCompany'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyDocuments'
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'
   -> Maybe PostAccountRequestBodyMetadata'Variants
   -> Maybe PostAccountRequestBodySettings'
   -> Maybe PostAccountRequestBodyTosAcceptance'
   -> PostAccountRequestBody)
-> Parser (Maybe PostAccountRequestBodyCompany')
-> Parser
     (Maybe Text
      -> Maybe PostAccountRequestBodyDocuments'
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'
      -> Maybe PostAccountRequestBodyMetadata'Variants
      -> Maybe PostAccountRequestBodySettings'
      -> Maybe PostAccountRequestBodyTosAcceptance'
      -> PostAccountRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe PostAccountRequestBodyCompany')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"company")) Parser
  (Maybe Text
   -> Maybe PostAccountRequestBodyDocuments'
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'
   -> Maybe PostAccountRequestBodyMetadata'Variants
   -> Maybe PostAccountRequestBodySettings'
   -> Maybe PostAccountRequestBodyTosAcceptance'
   -> PostAccountRequestBody)
-> Parser (Maybe Text)
-> Parser
     (Maybe PostAccountRequestBodyDocuments'
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'
      -> Maybe PostAccountRequestBodyMetadata'Variants
      -> Maybe PostAccountRequestBodySettings'
      -> Maybe PostAccountRequestBodyTosAcceptance'
      -> PostAccountRequestBody)
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
"default_currency")) Parser
  (Maybe PostAccountRequestBodyDocuments'
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'
   -> Maybe PostAccountRequestBodyMetadata'Variants
   -> Maybe PostAccountRequestBodySettings'
   -> Maybe PostAccountRequestBodyTosAcceptance'
   -> PostAccountRequestBody)
-> Parser (Maybe PostAccountRequestBodyDocuments')
-> Parser
     (Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'
      -> Maybe PostAccountRequestBodyMetadata'Variants
      -> Maybe PostAccountRequestBodySettings'
      -> Maybe PostAccountRequestBodyTosAcceptance'
      -> PostAccountRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe PostAccountRequestBodyDocuments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"documents")) Parser
  (Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'
   -> Maybe PostAccountRequestBodyMetadata'Variants
   -> Maybe PostAccountRequestBodySettings'
   -> Maybe PostAccountRequestBodyTosAcceptance'
   -> PostAccountRequestBody)
-> Parser (Maybe Text)
-> Parser
     (Maybe [Text]
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'
      -> Maybe PostAccountRequestBodyMetadata'Variants
      -> Maybe PostAccountRequestBodySettings'
      -> Maybe PostAccountRequestBodyTosAcceptance'
      -> PostAccountRequestBody)
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 PostAccountRequestBodyIndividual'
   -> Maybe PostAccountRequestBodyMetadata'Variants
   -> Maybe PostAccountRequestBodySettings'
   -> Maybe PostAccountRequestBodyTosAcceptance'
   -> PostAccountRequestBody)
-> Parser (Maybe [Text])
-> Parser
     (Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'
      -> Maybe PostAccountRequestBodyMetadata'Variants
      -> Maybe PostAccountRequestBodySettings'
      -> Maybe PostAccountRequestBodyTosAcceptance'
      -> PostAccountRequestBody)
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
"expand")) Parser
  (Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'
   -> Maybe PostAccountRequestBodyMetadata'Variants
   -> Maybe PostAccountRequestBodySettings'
   -> Maybe PostAccountRequestBodyTosAcceptance'
   -> PostAccountRequestBody)
-> Parser (Maybe Text)
-> Parser
     (Maybe PostAccountRequestBodyIndividual'
      -> Maybe PostAccountRequestBodyMetadata'Variants
      -> Maybe PostAccountRequestBodySettings'
      -> Maybe PostAccountRequestBodyTosAcceptance'
      -> PostAccountRequestBody)
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
"external_account")) Parser
  (Maybe PostAccountRequestBodyIndividual'
   -> Maybe PostAccountRequestBodyMetadata'Variants
   -> Maybe PostAccountRequestBodySettings'
   -> Maybe PostAccountRequestBodyTosAcceptance'
   -> PostAccountRequestBody)
-> Parser (Maybe PostAccountRequestBodyIndividual')
-> Parser
     (Maybe PostAccountRequestBodyMetadata'Variants
      -> Maybe PostAccountRequestBodySettings'
      -> Maybe PostAccountRequestBodyTosAcceptance'
      -> PostAccountRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe PostAccountRequestBodyIndividual')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"individual")) Parser
  (Maybe PostAccountRequestBodyMetadata'Variants
   -> Maybe PostAccountRequestBodySettings'
   -> Maybe PostAccountRequestBodyTosAcceptance'
   -> PostAccountRequestBody)
-> Parser (Maybe PostAccountRequestBodyMetadata'Variants)
-> Parser
     (Maybe PostAccountRequestBodySettings'
      -> Maybe PostAccountRequestBodyTosAcceptance'
      -> PostAccountRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe PostAccountRequestBodyMetadata'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"metadata")) Parser
  (Maybe PostAccountRequestBodySettings'
   -> Maybe PostAccountRequestBodyTosAcceptance'
   -> PostAccountRequestBody)
-> Parser (Maybe PostAccountRequestBodySettings')
-> Parser
     (Maybe PostAccountRequestBodyTosAcceptance'
      -> PostAccountRequestBody)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe PostAccountRequestBodySettings')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"settings")) Parser
  (Maybe PostAccountRequestBodyTosAcceptance'
   -> PostAccountRequestBody)
-> Parser (Maybe PostAccountRequestBodyTosAcceptance')
-> Parser PostAccountRequestBody
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe PostAccountRequestBodyTosAcceptance')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tos_acceptance"))

-- | Create a new 'PostAccountRequestBody' with all required fields.
mkPostAccountRequestBody :: PostAccountRequestBody
mkPostAccountRequestBody :: PostAccountRequestBody
mkPostAccountRequestBody =
  PostAccountRequestBody :: Maybe Text
-> Maybe PostAccountRequestBodyBankAccount'Variants
-> Maybe PostAccountRequestBodyBusinessProfile'
-> Maybe PostAccountRequestBodyBusinessType'
-> Maybe PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCompany'
-> Maybe Text
-> Maybe PostAccountRequestBodyDocuments'
-> Maybe Text
-> Maybe [Text]
-> Maybe Text
-> Maybe PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyMetadata'Variants
-> Maybe PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodyTosAcceptance'
-> PostAccountRequestBody
PostAccountRequestBody
    { postAccountRequestBodyAccountToken :: Maybe Text
postAccountRequestBodyAccountToken = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBankAccount :: Maybe PostAccountRequestBodyBankAccount'Variants
postAccountRequestBodyBankAccount = Maybe PostAccountRequestBodyBankAccount'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBusinessProfile :: Maybe PostAccountRequestBodyBusinessProfile'
postAccountRequestBodyBusinessProfile = Maybe PostAccountRequestBodyBusinessProfile'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBusinessType :: Maybe PostAccountRequestBodyBusinessType'
postAccountRequestBodyBusinessType = Maybe PostAccountRequestBodyBusinessType'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities :: Maybe PostAccountRequestBodyCapabilities'
postAccountRequestBodyCapabilities = Maybe PostAccountRequestBodyCapabilities'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany :: Maybe PostAccountRequestBodyCompany'
postAccountRequestBodyCompany = Maybe PostAccountRequestBodyCompany'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyDefaultCurrency :: Maybe Text
postAccountRequestBodyDefaultCurrency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyDocuments :: Maybe PostAccountRequestBodyDocuments'
postAccountRequestBodyDocuments = Maybe PostAccountRequestBodyDocuments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyEmail :: Maybe Text
postAccountRequestBodyEmail = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyExpand :: Maybe [Text]
postAccountRequestBodyExpand = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyExternalAccount :: Maybe Text
postAccountRequestBodyExternalAccount = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual :: Maybe PostAccountRequestBodyIndividual'
postAccountRequestBodyIndividual = Maybe PostAccountRequestBodyIndividual'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyMetadata :: Maybe PostAccountRequestBodyMetadata'Variants
postAccountRequestBodyMetadata = Maybe PostAccountRequestBodyMetadata'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings :: Maybe PostAccountRequestBodySettings'
postAccountRequestBodySettings = Maybe PostAccountRequestBodySettings'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyTosAcceptance :: Maybe PostAccountRequestBodyTosAcceptance'
postAccountRequestBodyTosAcceptance = Maybe PostAccountRequestBodyTosAcceptance'
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.bank_account.anyOf@ in the specification.
data PostAccountRequestBodyBankAccount'OneOf1 = PostAccountRequestBodyBankAccount'OneOf1
  { -- | account_holder_name
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyBankAccount'OneOf1 -> Maybe Text
postAccountRequestBodyBankAccount'OneOf1AccountHolderName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | account_holder_type
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyBankAccount'OneOf1
-> Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
postAccountRequestBodyBankAccount'OneOf1AccountHolderType :: (GHC.Maybe.Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'),
    -- | account_number
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyBankAccount'OneOf1 -> Text
postAccountRequestBodyBankAccount'OneOf1AccountNumber :: Data.Text.Internal.Text,
    -- | country
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyBankAccount'OneOf1 -> Text
postAccountRequestBodyBankAccount'OneOf1Country :: Data.Text.Internal.Text,
    -- | currency
    PostAccountRequestBodyBankAccount'OneOf1 -> Maybe Text
postAccountRequestBodyBankAccount'OneOf1Currency :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | routing_number
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyBankAccount'OneOf1 -> Maybe Text
postAccountRequestBodyBankAccount'OneOf1RoutingNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> PostAccountRequestBodyBankAccount'OneOf1 -> ShowS
[PostAccountRequestBodyBankAccount'OneOf1] -> ShowS
PostAccountRequestBodyBankAccount'OneOf1 -> String
(Int -> PostAccountRequestBodyBankAccount'OneOf1 -> ShowS)
-> (PostAccountRequestBodyBankAccount'OneOf1 -> String)
-> ([PostAccountRequestBodyBankAccount'OneOf1] -> ShowS)
-> Show PostAccountRequestBodyBankAccount'OneOf1
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyBankAccount'OneOf1] -> ShowS
$cshowList :: [PostAccountRequestBodyBankAccount'OneOf1] -> ShowS
show :: PostAccountRequestBodyBankAccount'OneOf1 -> String
$cshow :: PostAccountRequestBodyBankAccount'OneOf1 -> String
showsPrec :: Int -> PostAccountRequestBodyBankAccount'OneOf1 -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyBankAccount'OneOf1 -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyBankAccount'OneOf1
-> PostAccountRequestBodyBankAccount'OneOf1 -> Bool
(PostAccountRequestBodyBankAccount'OneOf1
 -> PostAccountRequestBodyBankAccount'OneOf1 -> Bool)
-> (PostAccountRequestBodyBankAccount'OneOf1
    -> PostAccountRequestBodyBankAccount'OneOf1 -> Bool)
-> Eq PostAccountRequestBodyBankAccount'OneOf1
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyBankAccount'OneOf1
-> PostAccountRequestBodyBankAccount'OneOf1 -> Bool
$c/= :: PostAccountRequestBodyBankAccount'OneOf1
-> PostAccountRequestBodyBankAccount'OneOf1 -> Bool
== :: PostAccountRequestBodyBankAccount'OneOf1
-> PostAccountRequestBodyBankAccount'OneOf1 -> Bool
$c== :: PostAccountRequestBodyBankAccount'OneOf1
-> PostAccountRequestBodyBankAccount'OneOf1 -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyBankAccount'OneOf1 where
  toJSON :: PostAccountRequestBodyBankAccount'OneOf1 -> Value
toJSON PostAccountRequestBodyBankAccount'OneOf1
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"account_holder_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBankAccount'OneOf1 -> Maybe Text
postAccountRequestBodyBankAccount'OneOf1AccountHolderName PostAccountRequestBodyBankAccount'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"account_holder_type" Text
-> Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBankAccount'OneOf1
-> Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
postAccountRequestBodyBankAccount'OneOf1AccountHolderType PostAccountRequestBodyBankAccount'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"account_number" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBankAccount'OneOf1 -> Text
postAccountRequestBodyBankAccount'OneOf1AccountNumber PostAccountRequestBodyBankAccount'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"country" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBankAccount'OneOf1 -> Text
postAccountRequestBodyBankAccount'OneOf1Country PostAccountRequestBodyBankAccount'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"currency" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBankAccount'OneOf1 -> Maybe Text
postAccountRequestBodyBankAccount'OneOf1Currency PostAccountRequestBodyBankAccount'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"routing_number" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBankAccount'OneOf1 -> Maybe Text
postAccountRequestBodyBankAccount'OneOf1RoutingNumber PostAccountRequestBodyBankAccount'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"object" Text -> Value -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Text -> Value
Data.Aeson.Types.Internal.String Text
"bank_account" Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyBankAccount'OneOf1 -> Encoding
toEncoding PostAccountRequestBodyBankAccount'OneOf1
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"account_holder_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBankAccount'OneOf1 -> Maybe Text
postAccountRequestBodyBankAccount'OneOf1AccountHolderName PostAccountRequestBodyBankAccount'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"account_holder_type" Text
-> Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBankAccount'OneOf1
-> Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
postAccountRequestBodyBankAccount'OneOf1AccountHolderType PostAccountRequestBodyBankAccount'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"account_number" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBankAccount'OneOf1 -> Text
postAccountRequestBodyBankAccount'OneOf1AccountNumber PostAccountRequestBodyBankAccount'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"country" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBankAccount'OneOf1 -> Text
postAccountRequestBodyBankAccount'OneOf1Country PostAccountRequestBodyBankAccount'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"currency" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBankAccount'OneOf1 -> Maybe Text
postAccountRequestBodyBankAccount'OneOf1Currency PostAccountRequestBodyBankAccount'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"routing_number" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBankAccount'OneOf1 -> Maybe Text
postAccountRequestBodyBankAccount'OneOf1RoutingNumber PostAccountRequestBodyBankAccount'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"object" Text -> Value -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Text -> Value
Data.Aeson.Types.Internal.String Text
"bank_account")))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyBankAccount'OneOf1 where
  parseJSON :: Value -> Parser PostAccountRequestBodyBankAccount'OneOf1
parseJSON = String
-> (Object -> Parser PostAccountRequestBodyBankAccount'OneOf1)
-> Value
-> Parser PostAccountRequestBodyBankAccount'OneOf1
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyBankAccount'OneOf1" (\Object
obj -> ((((((Maybe Text
 -> Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
 -> Text
 -> Text
 -> Maybe Text
 -> Maybe Text
 -> PostAccountRequestBodyBankAccount'OneOf1)
-> Parser
     (Maybe Text
      -> Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
      -> Text
      -> Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyBankAccount'OneOf1)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> Text
-> Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyBankAccount'OneOf1
PostAccountRequestBodyBankAccount'OneOf1 Parser
  (Maybe Text
   -> Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
   -> Text
   -> Text
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodyBankAccount'OneOf1)
-> Parser (Maybe Text)
-> Parser
     (Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
      -> Text
      -> Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyBankAccount'OneOf1)
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
"account_holder_name")) Parser
  (Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
   -> Text
   -> Text
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodyBankAccount'OneOf1)
-> Parser
     (Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType')
-> Parser
     (Text
      -> Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyBankAccount'OneOf1)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"account_holder_type")) Parser
  (Text
   -> Text
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodyBankAccount'OneOf1)
-> Parser Text
-> Parser
     (Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyBankAccount'OneOf1)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"account_number")) Parser
  (Text
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodyBankAccount'OneOf1)
-> Parser Text
-> Parser
     (Maybe Text
      -> Maybe Text -> PostAccountRequestBodyBankAccount'OneOf1)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"country")) Parser
  (Maybe Text
   -> Maybe Text -> PostAccountRequestBodyBankAccount'OneOf1)
-> Parser (Maybe Text)
-> Parser (Maybe Text -> PostAccountRequestBodyBankAccount'OneOf1)
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
"currency")) Parser (Maybe Text -> PostAccountRequestBodyBankAccount'OneOf1)
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodyBankAccount'OneOf1
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
"routing_number"))

-- | Create a new 'PostAccountRequestBodyBankAccount'OneOf1' with all required fields.
mkPostAccountRequestBodyBankAccount'OneOf1 ::
  -- | 'postAccountRequestBodyBankAccount'OneOf1AccountNumber'
  Data.Text.Internal.Text ->
  -- | 'postAccountRequestBodyBankAccount'OneOf1Country'
  Data.Text.Internal.Text ->
  PostAccountRequestBodyBankAccount'OneOf1
mkPostAccountRequestBodyBankAccount'OneOf1 :: Text -> Text -> PostAccountRequestBodyBankAccount'OneOf1
mkPostAccountRequestBodyBankAccount'OneOf1 Text
postAccountRequestBodyBankAccount'OneOf1AccountNumber Text
postAccountRequestBodyBankAccount'OneOf1Country =
  PostAccountRequestBodyBankAccount'OneOf1 :: Maybe Text
-> Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> Text
-> Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyBankAccount'OneOf1
PostAccountRequestBodyBankAccount'OneOf1
    { postAccountRequestBodyBankAccount'OneOf1AccountHolderName :: Maybe Text
postAccountRequestBodyBankAccount'OneOf1AccountHolderName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBankAccount'OneOf1AccountHolderType :: Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
postAccountRequestBodyBankAccount'OneOf1AccountHolderType = Maybe PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBankAccount'OneOf1AccountNumber :: Text
postAccountRequestBodyBankAccount'OneOf1AccountNumber = Text
postAccountRequestBodyBankAccount'OneOf1AccountNumber,
      postAccountRequestBodyBankAccount'OneOf1Country :: Text
postAccountRequestBodyBankAccount'OneOf1Country = Text
postAccountRequestBodyBankAccount'OneOf1Country,
      postAccountRequestBodyBankAccount'OneOf1Currency :: Maybe Text
postAccountRequestBodyBankAccount'OneOf1Currency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBankAccount'OneOf1RoutingNumber :: Maybe Text
postAccountRequestBodyBankAccount'OneOf1RoutingNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the enum schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.bank_account.anyOf.properties.account_holder_type@ in the specification.
data PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"company"@
    PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'EnumCompany
  | -- | Represents the JSON value @"individual"@
    PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'EnumIndividual
  deriving (Int
-> PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> ShowS
[PostAccountRequestBodyBankAccount'OneOf1AccountHolderType']
-> ShowS
PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> String
(Int
 -> PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
 -> ShowS)
-> (PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
    -> String)
-> ([PostAccountRequestBodyBankAccount'OneOf1AccountHolderType']
    -> ShowS)
-> Show PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyBankAccount'OneOf1AccountHolderType']
-> ShowS
$cshowList :: [PostAccountRequestBodyBankAccount'OneOf1AccountHolderType']
-> ShowS
show :: PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> String
$cshow :: PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> String
showsPrec :: Int
-> PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> ShowS
GHC.Show.Show, PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> Bool
(PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
 -> PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
 -> Bool)
-> (PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
    -> PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
    -> Bool)
-> Eq PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> Bool
$c/= :: PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> Bool
== :: PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> Bool
$c== :: PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyBankAccount'OneOf1AccountHolderType' where
  toJSON :: PostAccountRequestBodyBankAccount'OneOf1AccountHolderType' -> Value
toJSON (PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'Other Value
val) = Value
val
  toJSON (PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'EnumCompany) = Value
"company"
  toJSON (PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'EnumIndividual) = Value
"individual"

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyBankAccount'OneOf1AccountHolderType' where
  parseJSON :: Value
-> Parser
     PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
parseJSON Value
val =
    PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
-> Parser
     PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"company" -> PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'EnumCompany
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"individual" -> PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'EnumIndividual
            | Bool
GHC.Base.otherwise -> Value -> PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'
PostAccountRequestBodyBankAccount'OneOf1AccountHolderType'Other Value
val
      )

-- | Defines the oneOf schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.bank_account.anyOf@ in the specification.
--
-- Either a token, like the ones returned by [Stripe.js](https:\/\/stripe.com\/docs\/stripe.js), or a dictionary containing a user\'s bank account details.
data PostAccountRequestBodyBankAccount'Variants
  = PostAccountRequestBodyBankAccount'PostAccountRequestBodyBankAccount'OneOf1 PostAccountRequestBodyBankAccount'OneOf1
  | PostAccountRequestBodyBankAccount'Text Data.Text.Internal.Text
  deriving (Int -> PostAccountRequestBodyBankAccount'Variants -> ShowS
[PostAccountRequestBodyBankAccount'Variants] -> ShowS
PostAccountRequestBodyBankAccount'Variants -> String
(Int -> PostAccountRequestBodyBankAccount'Variants -> ShowS)
-> (PostAccountRequestBodyBankAccount'Variants -> String)
-> ([PostAccountRequestBodyBankAccount'Variants] -> ShowS)
-> Show PostAccountRequestBodyBankAccount'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyBankAccount'Variants] -> ShowS
$cshowList :: [PostAccountRequestBodyBankAccount'Variants] -> ShowS
show :: PostAccountRequestBodyBankAccount'Variants -> String
$cshow :: PostAccountRequestBodyBankAccount'Variants -> String
showsPrec :: Int -> PostAccountRequestBodyBankAccount'Variants -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyBankAccount'Variants -> ShowS
GHC.Show.Show, PostAccountRequestBodyBankAccount'Variants
-> PostAccountRequestBodyBankAccount'Variants -> Bool
(PostAccountRequestBodyBankAccount'Variants
 -> PostAccountRequestBodyBankAccount'Variants -> Bool)
-> (PostAccountRequestBodyBankAccount'Variants
    -> PostAccountRequestBodyBankAccount'Variants -> Bool)
-> Eq PostAccountRequestBodyBankAccount'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyBankAccount'Variants
-> PostAccountRequestBodyBankAccount'Variants -> Bool
$c/= :: PostAccountRequestBodyBankAccount'Variants
-> PostAccountRequestBodyBankAccount'Variants -> Bool
== :: PostAccountRequestBodyBankAccount'Variants
-> PostAccountRequestBodyBankAccount'Variants -> Bool
$c== :: PostAccountRequestBodyBankAccount'Variants
-> PostAccountRequestBodyBankAccount'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyBankAccount'Variants where
  toJSON :: PostAccountRequestBodyBankAccount'Variants -> Value
toJSON (PostAccountRequestBodyBankAccount'PostAccountRequestBodyBankAccount'OneOf1 PostAccountRequestBodyBankAccount'OneOf1
a) = PostAccountRequestBodyBankAccount'OneOf1 -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON PostAccountRequestBodyBankAccount'OneOf1
a
  toJSON (PostAccountRequestBodyBankAccount'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyBankAccount'Variants where
  parseJSON :: Value -> Parser PostAccountRequestBodyBankAccount'Variants
parseJSON Value
val = case (PostAccountRequestBodyBankAccount'OneOf1
-> PostAccountRequestBodyBankAccount'Variants
PostAccountRequestBodyBankAccount'PostAccountRequestBodyBankAccount'OneOf1 (PostAccountRequestBodyBankAccount'OneOf1
 -> PostAccountRequestBodyBankAccount'Variants)
-> Result PostAccountRequestBodyBankAccount'OneOf1
-> Result PostAccountRequestBodyBankAccount'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result PostAccountRequestBodyBankAccount'OneOf1
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result PostAccountRequestBodyBankAccount'Variants
-> Result PostAccountRequestBodyBankAccount'Variants
-> Result PostAccountRequestBodyBankAccount'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Text -> PostAccountRequestBodyBankAccount'Variants
PostAccountRequestBodyBankAccount'Text (Text -> PostAccountRequestBodyBankAccount'Variants)
-> Result Text -> Result PostAccountRequestBodyBankAccount'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Text
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result PostAccountRequestBodyBankAccount'Variants
-> Result PostAccountRequestBodyBankAccount'Variants
-> Result PostAccountRequestBodyBankAccount'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result PostAccountRequestBodyBankAccount'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success PostAccountRequestBodyBankAccount'Variants
a -> PostAccountRequestBodyBankAccount'Variants
-> Parser PostAccountRequestBodyBankAccount'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostAccountRequestBodyBankAccount'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser PostAccountRequestBodyBankAccount'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.business_profile@ in the specification.
--
-- Business information about the account.
data PostAccountRequestBodyBusinessProfile' = PostAccountRequestBodyBusinessProfile'
  { -- | mcc
    --
    -- Constraints:
    --
    -- * Maximum length of 4
    PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'Mcc :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | name
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | product_description
    --
    -- Constraints:
    --
    -- * Maximum length of 40000
    PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'ProductDescription :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | support_address
    PostAccountRequestBodyBusinessProfile'
-> Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
postAccountRequestBodyBusinessProfile'SupportAddress :: (GHC.Maybe.Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'),
    -- | support_email
    PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportEmail :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | support_phone
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportPhone :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | support_url
    PostAccountRequestBodyBusinessProfile'
-> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
postAccountRequestBodyBusinessProfile'SupportUrl :: (GHC.Maybe.Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants),
    -- | url
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'Url :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> PostAccountRequestBodyBusinessProfile' -> ShowS
[PostAccountRequestBodyBusinessProfile'] -> ShowS
PostAccountRequestBodyBusinessProfile' -> String
(Int -> PostAccountRequestBodyBusinessProfile' -> ShowS)
-> (PostAccountRequestBodyBusinessProfile' -> String)
-> ([PostAccountRequestBodyBusinessProfile'] -> ShowS)
-> Show PostAccountRequestBodyBusinessProfile'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyBusinessProfile'] -> ShowS
$cshowList :: [PostAccountRequestBodyBusinessProfile'] -> ShowS
show :: PostAccountRequestBodyBusinessProfile' -> String
$cshow :: PostAccountRequestBodyBusinessProfile' -> String
showsPrec :: Int -> PostAccountRequestBodyBusinessProfile' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyBusinessProfile' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyBusinessProfile'
-> PostAccountRequestBodyBusinessProfile' -> Bool
(PostAccountRequestBodyBusinessProfile'
 -> PostAccountRequestBodyBusinessProfile' -> Bool)
-> (PostAccountRequestBodyBusinessProfile'
    -> PostAccountRequestBodyBusinessProfile' -> Bool)
-> Eq PostAccountRequestBodyBusinessProfile'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyBusinessProfile'
-> PostAccountRequestBodyBusinessProfile' -> Bool
$c/= :: PostAccountRequestBodyBusinessProfile'
-> PostAccountRequestBodyBusinessProfile' -> Bool
== :: PostAccountRequestBodyBusinessProfile'
-> PostAccountRequestBodyBusinessProfile' -> Bool
$c== :: PostAccountRequestBodyBusinessProfile'
-> PostAccountRequestBodyBusinessProfile' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyBusinessProfile' where
  toJSON :: PostAccountRequestBodyBusinessProfile' -> Value
toJSON PostAccountRequestBodyBusinessProfile'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"mcc" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'Mcc PostAccountRequestBodyBusinessProfile'
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..= PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'Name PostAccountRequestBodyBusinessProfile'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"product_description" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'ProductDescription PostAccountRequestBodyBusinessProfile'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"support_address" Text
-> Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBusinessProfile'
-> Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
postAccountRequestBodyBusinessProfile'SupportAddress PostAccountRequestBodyBusinessProfile'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"support_email" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportEmail PostAccountRequestBodyBusinessProfile'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"support_phone" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportPhone PostAccountRequestBodyBusinessProfile'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"support_url" Text
-> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBusinessProfile'
-> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
postAccountRequestBodyBusinessProfile'SupportUrl PostAccountRequestBodyBusinessProfile'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"url" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'Url PostAccountRequestBodyBusinessProfile'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyBusinessProfile' -> Encoding
toEncoding PostAccountRequestBodyBusinessProfile'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"mcc" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'Mcc PostAccountRequestBodyBusinessProfile'
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..= PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'Name PostAccountRequestBodyBusinessProfile'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"product_description" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'ProductDescription PostAccountRequestBodyBusinessProfile'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"support_address" Text
-> Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBusinessProfile'
-> Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
postAccountRequestBodyBusinessProfile'SupportAddress PostAccountRequestBodyBusinessProfile'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"support_email" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportEmail PostAccountRequestBodyBusinessProfile'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"support_phone" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportPhone PostAccountRequestBodyBusinessProfile'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"support_url" Text
-> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBusinessProfile'
-> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
postAccountRequestBodyBusinessProfile'SupportUrl PostAccountRequestBodyBusinessProfile'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"url" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyBusinessProfile' -> Maybe Text
postAccountRequestBodyBusinessProfile'Url PostAccountRequestBodyBusinessProfile'
obj))))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyBusinessProfile' where
  parseJSON :: Value -> Parser PostAccountRequestBodyBusinessProfile'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodyBusinessProfile')
-> Value
-> Parser PostAccountRequestBodyBusinessProfile'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyBusinessProfile'" (\Object
obj -> ((((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
 -> Maybe Text
 -> Maybe Text
 -> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
 -> Maybe Text
 -> PostAccountRequestBodyBusinessProfile')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
      -> Maybe Text
      -> PostAccountRequestBodyBusinessProfile')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
-> Maybe Text
-> Maybe Text
-> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> Maybe Text
-> PostAccountRequestBodyBusinessProfile'
PostAccountRequestBodyBusinessProfile' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
   -> Maybe Text
   -> PostAccountRequestBodyBusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
      -> Maybe Text
      -> PostAccountRequestBodyBusinessProfile')
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
"mcc")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
   -> Maybe Text
   -> PostAccountRequestBodyBusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
      -> Maybe Text
      -> PostAccountRequestBodyBusinessProfile')
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 PostAccountRequestBodyBusinessProfile'SupportAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
   -> Maybe Text
   -> PostAccountRequestBodyBusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
      -> Maybe Text
      -> PostAccountRequestBodyBusinessProfile')
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
"product_description")) Parser
  (Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
   -> Maybe Text
   -> PostAccountRequestBodyBusinessProfile')
-> Parser
     (Maybe PostAccountRequestBodyBusinessProfile'SupportAddress')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
      -> Maybe Text
      -> PostAccountRequestBodyBusinessProfile')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyBusinessProfile'SupportAddress')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"support_address")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
   -> Maybe Text
   -> PostAccountRequestBodyBusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
      -> Maybe Text
      -> PostAccountRequestBodyBusinessProfile')
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
"support_email")) Parser
  (Maybe Text
   -> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
   -> Maybe Text
   -> PostAccountRequestBodyBusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
      -> Maybe Text -> PostAccountRequestBodyBusinessProfile')
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
"support_phone")) Parser
  (Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
   -> Maybe Text -> PostAccountRequestBodyBusinessProfile')
-> Parser
     (Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants)
-> Parser (Maybe Text -> PostAccountRequestBodyBusinessProfile')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"support_url")) Parser (Maybe Text -> PostAccountRequestBodyBusinessProfile')
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodyBusinessProfile'
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
"url"))

-- | Create a new 'PostAccountRequestBodyBusinessProfile'' with all required fields.
mkPostAccountRequestBodyBusinessProfile' :: PostAccountRequestBodyBusinessProfile'
mkPostAccountRequestBodyBusinessProfile' :: PostAccountRequestBodyBusinessProfile'
mkPostAccountRequestBodyBusinessProfile' =
  PostAccountRequestBodyBusinessProfile' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
-> Maybe Text
-> Maybe Text
-> Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> Maybe Text
-> PostAccountRequestBodyBusinessProfile'
PostAccountRequestBodyBusinessProfile'
    { postAccountRequestBodyBusinessProfile'Mcc :: Maybe Text
postAccountRequestBodyBusinessProfile'Mcc = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBusinessProfile'Name :: Maybe Text
postAccountRequestBodyBusinessProfile'Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBusinessProfile'ProductDescription :: Maybe Text
postAccountRequestBodyBusinessProfile'ProductDescription = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBusinessProfile'SupportAddress :: Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
postAccountRequestBodyBusinessProfile'SupportAddress = Maybe PostAccountRequestBodyBusinessProfile'SupportAddress'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBusinessProfile'SupportEmail :: Maybe Text
postAccountRequestBodyBusinessProfile'SupportEmail = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBusinessProfile'SupportPhone :: Maybe Text
postAccountRequestBodyBusinessProfile'SupportPhone = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBusinessProfile'SupportUrl :: Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
postAccountRequestBodyBusinessProfile'SupportUrl = Maybe PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBusinessProfile'Url :: Maybe Text
postAccountRequestBodyBusinessProfile'Url = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.business_profile.properties.support_address@ in the specification.
data PostAccountRequestBodyBusinessProfile'SupportAddress' = PostAccountRequestBodyBusinessProfile'SupportAddress'
  { -- | city
    --
    -- Constraints:
    --
    -- * Maximum length of 100
    PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | country
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line1
    --
    -- Constraints:
    --
    -- * Maximum length of 200
    PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line2
    --
    -- Constraints:
    --
    -- * Maximum length of 200
    PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> PostAccountRequestBodyBusinessProfile'SupportAddress' -> ShowS
[PostAccountRequestBodyBusinessProfile'SupportAddress'] -> ShowS
PostAccountRequestBodyBusinessProfile'SupportAddress' -> String
(Int
 -> PostAccountRequestBodyBusinessProfile'SupportAddress' -> ShowS)
-> (PostAccountRequestBodyBusinessProfile'SupportAddress'
    -> String)
-> ([PostAccountRequestBodyBusinessProfile'SupportAddress']
    -> ShowS)
-> Show PostAccountRequestBodyBusinessProfile'SupportAddress'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyBusinessProfile'SupportAddress'] -> ShowS
$cshowList :: [PostAccountRequestBodyBusinessProfile'SupportAddress'] -> ShowS
show :: PostAccountRequestBodyBusinessProfile'SupportAddress' -> String
$cshow :: PostAccountRequestBodyBusinessProfile'SupportAddress' -> String
showsPrec :: Int
-> PostAccountRequestBodyBusinessProfile'SupportAddress' -> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyBusinessProfile'SupportAddress' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyBusinessProfile'SupportAddress'
-> PostAccountRequestBodyBusinessProfile'SupportAddress' -> Bool
(PostAccountRequestBodyBusinessProfile'SupportAddress'
 -> PostAccountRequestBodyBusinessProfile'SupportAddress' -> Bool)
-> (PostAccountRequestBodyBusinessProfile'SupportAddress'
    -> PostAccountRequestBodyBusinessProfile'SupportAddress' -> Bool)
-> Eq PostAccountRequestBodyBusinessProfile'SupportAddress'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyBusinessProfile'SupportAddress'
-> PostAccountRequestBodyBusinessProfile'SupportAddress' -> Bool
$c/= :: PostAccountRequestBodyBusinessProfile'SupportAddress'
-> PostAccountRequestBodyBusinessProfile'SupportAddress' -> Bool
== :: PostAccountRequestBodyBusinessProfile'SupportAddress'
-> PostAccountRequestBodyBusinessProfile'SupportAddress' -> Bool
$c== :: PostAccountRequestBodyBusinessProfile'SupportAddress'
-> PostAccountRequestBodyBusinessProfile'SupportAddress' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyBusinessProfile'SupportAddress' where
  toJSON :: PostAccountRequestBodyBusinessProfile'SupportAddress' -> Value
toJSON PostAccountRequestBodyBusinessProfile'SupportAddress'
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..= PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'City PostAccountRequestBodyBusinessProfile'SupportAddress'
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..= PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'Country PostAccountRequestBodyBusinessProfile'SupportAddress'
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..= PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'Line1 PostAccountRequestBodyBusinessProfile'SupportAddress'
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..= PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'Line2 PostAccountRequestBodyBusinessProfile'SupportAddress'
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..= PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'PostalCode PostAccountRequestBodyBusinessProfile'SupportAddress'
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..= PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'State PostAccountRequestBodyBusinessProfile'SupportAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyBusinessProfile'SupportAddress' -> Encoding
toEncoding PostAccountRequestBodyBusinessProfile'SupportAddress'
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..= PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'City PostAccountRequestBodyBusinessProfile'SupportAddress'
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..= PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'Country PostAccountRequestBodyBusinessProfile'SupportAddress'
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..= PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'Line1 PostAccountRequestBodyBusinessProfile'SupportAddress'
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..= PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'Line2 PostAccountRequestBodyBusinessProfile'SupportAddress'
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..= PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'PostalCode PostAccountRequestBodyBusinessProfile'SupportAddress'
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..= PostAccountRequestBodyBusinessProfile'SupportAddress' -> Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'State PostAccountRequestBodyBusinessProfile'SupportAddress'
obj))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyBusinessProfile'SupportAddress' where
  parseJSON :: Value
-> Parser PostAccountRequestBodyBusinessProfile'SupportAddress'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyBusinessProfile'SupportAddress')
-> Value
-> Parser PostAccountRequestBodyBusinessProfile'SupportAddress'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyBusinessProfile'SupportAddress'" (\Object
obj -> ((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> PostAccountRequestBodyBusinessProfile'SupportAddress')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyBusinessProfile'SupportAddress')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyBusinessProfile'SupportAddress'
PostAccountRequestBodyBusinessProfile'SupportAddress' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodyBusinessProfile'SupportAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyBusinessProfile'SupportAddress')
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
   -> PostAccountRequestBodyBusinessProfile'SupportAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyBusinessProfile'SupportAddress')
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
   -> PostAccountRequestBodyBusinessProfile'SupportAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyBusinessProfile'SupportAddress')
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
   -> PostAccountRequestBodyBusinessProfile'SupportAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyBusinessProfile'SupportAddress')
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
   -> PostAccountRequestBodyBusinessProfile'SupportAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> PostAccountRequestBodyBusinessProfile'SupportAddress')
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
   -> PostAccountRequestBodyBusinessProfile'SupportAddress')
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodyBusinessProfile'SupportAddress'
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 'PostAccountRequestBodyBusinessProfile'SupportAddress'' with all required fields.
mkPostAccountRequestBodyBusinessProfile'SupportAddress' :: PostAccountRequestBodyBusinessProfile'SupportAddress'
mkPostAccountRequestBodyBusinessProfile'SupportAddress' :: PostAccountRequestBodyBusinessProfile'SupportAddress'
mkPostAccountRequestBodyBusinessProfile'SupportAddress' =
  PostAccountRequestBodyBusinessProfile'SupportAddress' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyBusinessProfile'SupportAddress'
PostAccountRequestBodyBusinessProfile'SupportAddress'
    { postAccountRequestBodyBusinessProfile'SupportAddress'City :: Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBusinessProfile'SupportAddress'Country :: Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBusinessProfile'SupportAddress'Line1 :: Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBusinessProfile'SupportAddress'Line2 :: Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBusinessProfile'SupportAddress'PostalCode :: Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyBusinessProfile'SupportAddress'State :: Maybe Text
postAccountRequestBodyBusinessProfile'SupportAddress'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.business_profile.properties.support_url.anyOf@ in the specification.
data PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
  = -- | Represents the JSON value @""@
    PostAccountRequestBodyBusinessProfile'SupportUrl'EmptyString
  | PostAccountRequestBodyBusinessProfile'SupportUrl'Text Data.Text.Internal.Text
  deriving (Int
-> PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> ShowS
[PostAccountRequestBodyBusinessProfile'SupportUrl'Variants]
-> ShowS
PostAccountRequestBodyBusinessProfile'SupportUrl'Variants -> String
(Int
 -> PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
 -> ShowS)
-> (PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
    -> String)
-> ([PostAccountRequestBodyBusinessProfile'SupportUrl'Variants]
    -> ShowS)
-> Show PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyBusinessProfile'SupportUrl'Variants]
-> ShowS
$cshowList :: [PostAccountRequestBodyBusinessProfile'SupportUrl'Variants]
-> ShowS
show :: PostAccountRequestBodyBusinessProfile'SupportUrl'Variants -> String
$cshow :: PostAccountRequestBodyBusinessProfile'SupportUrl'Variants -> String
showsPrec :: Int
-> PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> ShowS
GHC.Show.Show, PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> Bool
(PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
 -> PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
 -> Bool)
-> (PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
    -> PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
    -> Bool)
-> Eq PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> Bool
$c/= :: PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> Bool
== :: PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> Bool
$c== :: PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyBusinessProfile'SupportUrl'Variants where
  toJSON :: PostAccountRequestBodyBusinessProfile'SupportUrl'Variants -> Value
toJSON (PostAccountRequestBodyBusinessProfile'SupportUrl'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
PostAccountRequestBodyBusinessProfile'SupportUrl'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyBusinessProfile'SupportUrl'Variants where
  parseJSON :: Value
-> Parser PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> Parser PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
PostAccountRequestBodyBusinessProfile'SupportUrl'EmptyString
        | Bool
GHC.Base.otherwise -> case (Text -> PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
PostAccountRequestBodyBusinessProfile'SupportUrl'Text (Text -> PostAccountRequestBodyBusinessProfile'SupportUrl'Variants)
-> Result Text
-> Result PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Text
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> Result PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> Result PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
a -> PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
-> Parser PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String
-> Parser PostAccountRequestBodyBusinessProfile'SupportUrl'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the enum schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.business_type@ in the specification.
--
-- The business type.
data PostAccountRequestBodyBusinessType'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    PostAccountRequestBodyBusinessType'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    PostAccountRequestBodyBusinessType'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"company"@
    PostAccountRequestBodyBusinessType'EnumCompany
  | -- | Represents the JSON value @"government_entity"@
    PostAccountRequestBodyBusinessType'EnumGovernmentEntity
  | -- | Represents the JSON value @"individual"@
    PostAccountRequestBodyBusinessType'EnumIndividual
  | -- | Represents the JSON value @"non_profit"@
    PostAccountRequestBodyBusinessType'EnumNonProfit
  deriving (Int -> PostAccountRequestBodyBusinessType' -> ShowS
[PostAccountRequestBodyBusinessType'] -> ShowS
PostAccountRequestBodyBusinessType' -> String
(Int -> PostAccountRequestBodyBusinessType' -> ShowS)
-> (PostAccountRequestBodyBusinessType' -> String)
-> ([PostAccountRequestBodyBusinessType'] -> ShowS)
-> Show PostAccountRequestBodyBusinessType'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyBusinessType'] -> ShowS
$cshowList :: [PostAccountRequestBodyBusinessType'] -> ShowS
show :: PostAccountRequestBodyBusinessType' -> String
$cshow :: PostAccountRequestBodyBusinessType' -> String
showsPrec :: Int -> PostAccountRequestBodyBusinessType' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyBusinessType' -> ShowS
GHC.Show.Show, PostAccountRequestBodyBusinessType'
-> PostAccountRequestBodyBusinessType' -> Bool
(PostAccountRequestBodyBusinessType'
 -> PostAccountRequestBodyBusinessType' -> Bool)
-> (PostAccountRequestBodyBusinessType'
    -> PostAccountRequestBodyBusinessType' -> Bool)
-> Eq PostAccountRequestBodyBusinessType'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyBusinessType'
-> PostAccountRequestBodyBusinessType' -> Bool
$c/= :: PostAccountRequestBodyBusinessType'
-> PostAccountRequestBodyBusinessType' -> Bool
== :: PostAccountRequestBodyBusinessType'
-> PostAccountRequestBodyBusinessType' -> Bool
$c== :: PostAccountRequestBodyBusinessType'
-> PostAccountRequestBodyBusinessType' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyBusinessType' where
  toJSON :: PostAccountRequestBodyBusinessType' -> Value
toJSON (PostAccountRequestBodyBusinessType'Other Value
val) = Value
val
  toJSON (PostAccountRequestBodyBusinessType'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (PostAccountRequestBodyBusinessType'
PostAccountRequestBodyBusinessType'EnumCompany) = Value
"company"
  toJSON (PostAccountRequestBodyBusinessType'
PostAccountRequestBodyBusinessType'EnumGovernmentEntity) = Value
"government_entity"
  toJSON (PostAccountRequestBodyBusinessType'
PostAccountRequestBodyBusinessType'EnumIndividual) = Value
"individual"
  toJSON (PostAccountRequestBodyBusinessType'
PostAccountRequestBodyBusinessType'EnumNonProfit) = Value
"non_profit"

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyBusinessType' where
  parseJSON :: Value -> Parser PostAccountRequestBodyBusinessType'
parseJSON Value
val =
    PostAccountRequestBodyBusinessType'
-> Parser PostAccountRequestBodyBusinessType'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"company" -> PostAccountRequestBodyBusinessType'
PostAccountRequestBodyBusinessType'EnumCompany
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"government_entity" -> PostAccountRequestBodyBusinessType'
PostAccountRequestBodyBusinessType'EnumGovernmentEntity
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"individual" -> PostAccountRequestBodyBusinessType'
PostAccountRequestBodyBusinessType'EnumIndividual
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"non_profit" -> PostAccountRequestBodyBusinessType'
PostAccountRequestBodyBusinessType'EnumNonProfit
            | Bool
GHC.Base.otherwise -> Value -> PostAccountRequestBodyBusinessType'
PostAccountRequestBodyBusinessType'Other Value
val
      )

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities@ in the specification.
--
-- Each key of the dictionary represents a capability, and each capability maps to its settings (e.g. whether it has been requested or not). Each capability will be inactive until you have provided its specific requirements and Stripe has verified them. An account may have some of its requested capabilities be active and some be inactive.
data PostAccountRequestBodyCapabilities' = PostAccountRequestBodyCapabilities'
  { -- | acss_debit_payments
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'AcssDebitPayments'
postAccountRequestBodyCapabilities'AcssDebitPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'AcssDebitPayments'),
    -- | afterpay_clearpay_payments
    PostAccountRequestBodyCapabilities'
-> Maybe
     PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
postAccountRequestBodyCapabilities'AfterpayClearpayPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'),
    -- | au_becs_debit_payments
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
postAccountRequestBodyCapabilities'AuBecsDebitPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'),
    -- | bacs_debit_payments
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
postAccountRequestBodyCapabilities'BacsDebitPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'),
    -- | bancontact_payments
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
postAccountRequestBodyCapabilities'BancontactPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'BancontactPayments'),
    -- | card_issuing
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'CardIssuing'
postAccountRequestBodyCapabilities'CardIssuing :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'CardIssuing'),
    -- | card_payments
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'CardPayments'
postAccountRequestBodyCapabilities'CardPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'CardPayments'),
    -- | cartes_bancaires_payments
    PostAccountRequestBodyCapabilities'
-> Maybe
     PostAccountRequestBodyCapabilities'CartesBancairesPayments'
postAccountRequestBodyCapabilities'CartesBancairesPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'CartesBancairesPayments'),
    -- | eps_payments
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
postAccountRequestBodyCapabilities'EpsPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'EpsPayments'),
    -- | fpx_payments
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
postAccountRequestBodyCapabilities'FpxPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'FpxPayments'),
    -- | giropay_payments
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
postAccountRequestBodyCapabilities'GiropayPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'GiropayPayments'),
    -- | grabpay_payments
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
postAccountRequestBodyCapabilities'GrabpayPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'),
    -- | ideal_payments
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
postAccountRequestBodyCapabilities'IdealPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'IdealPayments'),
    -- | jcb_payments
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
postAccountRequestBodyCapabilities'JcbPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'JcbPayments'),
    -- | legacy_payments
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
postAccountRequestBodyCapabilities'LegacyPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'LegacyPayments'),
    -- | oxxo_payments
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
postAccountRequestBodyCapabilities'OxxoPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'OxxoPayments'),
    -- | p24_payments
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'P24Payments'
postAccountRequestBodyCapabilities'P24Payments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'P24Payments'),
    -- | sepa_debit_payments
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
postAccountRequestBodyCapabilities'SepaDebitPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'),
    -- | sofort_payments
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
postAccountRequestBodyCapabilities'SofortPayments :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'SofortPayments'),
    -- | tax_reporting_us_1099_k
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
postAccountRequestBodyCapabilities'TaxReportingUs_1099K :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'),
    -- | tax_reporting_us_1099_misc
    PostAccountRequestBodyCapabilities'
-> Maybe
     PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
postAccountRequestBodyCapabilities'TaxReportingUs_1099Misc :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'),
    -- | transfers
    PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'Transfers'
postAccountRequestBodyCapabilities'Transfers :: (GHC.Maybe.Maybe PostAccountRequestBodyCapabilities'Transfers')
  }
  deriving
    ( Int -> PostAccountRequestBodyCapabilities' -> ShowS
[PostAccountRequestBodyCapabilities'] -> ShowS
PostAccountRequestBodyCapabilities' -> String
(Int -> PostAccountRequestBodyCapabilities' -> ShowS)
-> (PostAccountRequestBodyCapabilities' -> String)
-> ([PostAccountRequestBodyCapabilities'] -> ShowS)
-> Show PostAccountRequestBodyCapabilities'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'] -> ShowS
show :: PostAccountRequestBodyCapabilities' -> String
$cshow :: PostAccountRequestBodyCapabilities' -> String
showsPrec :: Int -> PostAccountRequestBodyCapabilities' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCapabilities' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'
-> PostAccountRequestBodyCapabilities' -> Bool
(PostAccountRequestBodyCapabilities'
 -> PostAccountRequestBodyCapabilities' -> Bool)
-> (PostAccountRequestBodyCapabilities'
    -> PostAccountRequestBodyCapabilities' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'
-> PostAccountRequestBodyCapabilities' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'
-> PostAccountRequestBodyCapabilities' -> Bool
== :: PostAccountRequestBodyCapabilities'
-> PostAccountRequestBodyCapabilities' -> Bool
$c== :: PostAccountRequestBodyCapabilities'
-> PostAccountRequestBodyCapabilities' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities' where
  toJSON :: PostAccountRequestBodyCapabilities' -> Value
toJSON PostAccountRequestBodyCapabilities'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"acss_debit_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'AcssDebitPayments'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'AcssDebitPayments'
postAccountRequestBodyCapabilities'AcssDebitPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"afterpay_clearpay_payments" Text
-> Maybe
     PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe
     PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
postAccountRequestBodyCapabilities'AfterpayClearpayPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"au_becs_debit_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
postAccountRequestBodyCapabilities'AuBecsDebitPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"bacs_debit_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
postAccountRequestBodyCapabilities'BacsDebitPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"bancontact_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
postAccountRequestBodyCapabilities'BancontactPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"card_issuing" Text
-> Maybe PostAccountRequestBodyCapabilities'CardIssuing' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'CardIssuing'
postAccountRequestBodyCapabilities'CardIssuing PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"card_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'CardPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'CardPayments'
postAccountRequestBodyCapabilities'CardPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"cartes_bancaires_payments" Text
-> Maybe
     PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe
     PostAccountRequestBodyCapabilities'CartesBancairesPayments'
postAccountRequestBodyCapabilities'CartesBancairesPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"eps_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'EpsPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
postAccountRequestBodyCapabilities'EpsPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"fpx_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'FpxPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
postAccountRequestBodyCapabilities'FpxPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"giropay_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
postAccountRequestBodyCapabilities'GiropayPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"grabpay_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
postAccountRequestBodyCapabilities'GrabpayPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"ideal_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'IdealPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
postAccountRequestBodyCapabilities'IdealPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"jcb_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'JcbPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
postAccountRequestBodyCapabilities'JcbPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"legacy_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'LegacyPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
postAccountRequestBodyCapabilities'LegacyPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"oxxo_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'OxxoPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
postAccountRequestBodyCapabilities'OxxoPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"p24_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'P24Payments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'P24Payments'
postAccountRequestBodyCapabilities'P24Payments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"sepa_debit_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
postAccountRequestBodyCapabilities'SepaDebitPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"sofort_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'SofortPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
postAccountRequestBodyCapabilities'SofortPayments PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_reporting_us_1099_k" Text
-> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
postAccountRequestBodyCapabilities'TaxReportingUs_1099K PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_reporting_us_1099_misc" Text
-> Maybe
     PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe
     PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
postAccountRequestBodyCapabilities'TaxReportingUs_1099Misc PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"transfers" Text -> Maybe PostAccountRequestBodyCapabilities'Transfers' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'Transfers'
postAccountRequestBodyCapabilities'Transfers PostAccountRequestBodyCapabilities'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"acss_debit_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'AcssDebitPayments'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'AcssDebitPayments'
postAccountRequestBodyCapabilities'AcssDebitPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"afterpay_clearpay_payments" Text
-> Maybe
     PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe
     PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
postAccountRequestBodyCapabilities'AfterpayClearpayPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"au_becs_debit_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
postAccountRequestBodyCapabilities'AuBecsDebitPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"bacs_debit_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
postAccountRequestBodyCapabilities'BacsDebitPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"bancontact_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
postAccountRequestBodyCapabilities'BancontactPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"card_issuing" Text
-> Maybe PostAccountRequestBodyCapabilities'CardIssuing' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'CardIssuing'
postAccountRequestBodyCapabilities'CardIssuing PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"card_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'CardPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'CardPayments'
postAccountRequestBodyCapabilities'CardPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"cartes_bancaires_payments" Text
-> Maybe
     PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe
     PostAccountRequestBodyCapabilities'CartesBancairesPayments'
postAccountRequestBodyCapabilities'CartesBancairesPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"eps_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'EpsPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
postAccountRequestBodyCapabilities'EpsPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"fpx_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'FpxPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
postAccountRequestBodyCapabilities'FpxPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"giropay_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
postAccountRequestBodyCapabilities'GiropayPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"grabpay_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
postAccountRequestBodyCapabilities'GrabpayPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"ideal_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
postAccountRequestBodyCapabilities'IdealPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"jcb_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'JcbPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
postAccountRequestBodyCapabilities'JcbPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"legacy_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
postAccountRequestBodyCapabilities'LegacyPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"oxxo_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'OxxoPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
postAccountRequestBodyCapabilities'OxxoPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"p24_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'P24Payments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'P24Payments'
postAccountRequestBodyCapabilities'P24Payments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"sepa_debit_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
postAccountRequestBodyCapabilities'SepaDebitPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"sofort_payments" Text
-> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
postAccountRequestBodyCapabilities'SofortPayments PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tax_reporting_us_1099_k" Text
-> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
postAccountRequestBodyCapabilities'TaxReportingUs_1099K PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tax_reporting_us_1099_misc" Text
-> Maybe
     PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe
     PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
postAccountRequestBodyCapabilities'TaxReportingUs_1099Misc PostAccountRequestBodyCapabilities'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"transfers" Text
-> Maybe PostAccountRequestBodyCapabilities'Transfers' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'
-> Maybe PostAccountRequestBodyCapabilities'Transfers'
postAccountRequestBodyCapabilities'Transfers PostAccountRequestBodyCapabilities'
obj))))))))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCapabilities'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodyCapabilities')
-> Value
-> Parser PostAccountRequestBodyCapabilities'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'" (\Object
obj -> ((((((((((((((((((((((Maybe PostAccountRequestBodyCapabilities'AcssDebitPayments'
 -> Maybe
      PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
 -> Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
 -> Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
 -> Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
 -> Maybe PostAccountRequestBodyCapabilities'CardIssuing'
 -> Maybe PostAccountRequestBodyCapabilities'CardPayments'
 -> Maybe
      PostAccountRequestBodyCapabilities'CartesBancairesPayments'
 -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
 -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
 -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
 -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
 -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
 -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
 -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
 -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
 -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
 -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
 -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
 -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
 -> Maybe
      PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
 -> Maybe PostAccountRequestBodyCapabilities'Transfers'
 -> PostAccountRequestBodyCapabilities')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'AcssDebitPayments'
      -> Maybe
           PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
      -> Maybe PostAccountRequestBodyCapabilities'CardIssuing'
      -> Maybe PostAccountRequestBodyCapabilities'CardPayments'
      -> Maybe
           PostAccountRequestBodyCapabilities'CartesBancairesPayments'
      -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
      -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
      -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
      -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
      -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
      -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe PostAccountRequestBodyCapabilities'AcssDebitPayments'
-> Maybe
     PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
-> Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
-> Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
-> Maybe PostAccountRequestBodyCapabilities'CardIssuing'
-> Maybe PostAccountRequestBodyCapabilities'CardPayments'
-> Maybe
     PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
-> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
-> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
-> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
-> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
-> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
-> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
-> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
-> Maybe PostAccountRequestBodyCapabilities'P24Payments'
-> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
-> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
-> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
-> Maybe
     PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> Maybe PostAccountRequestBodyCapabilities'Transfers'
-> PostAccountRequestBodyCapabilities'
PostAccountRequestBodyCapabilities' Parser
  (Maybe PostAccountRequestBodyCapabilities'AcssDebitPayments'
   -> Maybe
        PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
   -> Maybe PostAccountRequestBodyCapabilities'CardIssuing'
   -> Maybe PostAccountRequestBodyCapabilities'CardPayments'
   -> Maybe
        PostAccountRequestBodyCapabilities'CartesBancairesPayments'
   -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
   -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
   -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
   -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
   -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
   -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'AcssDebitPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
      -> Maybe PostAccountRequestBodyCapabilities'CardIssuing'
      -> Maybe PostAccountRequestBodyCapabilities'CardPayments'
      -> Maybe
           PostAccountRequestBodyCapabilities'CartesBancairesPayments'
      -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
      -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
      -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
      -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
      -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
      -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'AcssDebitPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"acss_debit_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
   -> Maybe PostAccountRequestBodyCapabilities'CardIssuing'
   -> Maybe PostAccountRequestBodyCapabilities'CardPayments'
   -> Maybe
        PostAccountRequestBodyCapabilities'CartesBancairesPayments'
   -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
   -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
   -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
   -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
   -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
   -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser
     (Maybe
        PostAccountRequestBodyCapabilities'AfterpayClearpayPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
      -> Maybe PostAccountRequestBodyCapabilities'CardIssuing'
      -> Maybe PostAccountRequestBodyCapabilities'CardPayments'
      -> Maybe
           PostAccountRequestBodyCapabilities'CartesBancairesPayments'
      -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
      -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
      -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
      -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
      -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
      -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostAccountRequestBodyCapabilities'AfterpayClearpayPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"afterpay_clearpay_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
   -> Maybe PostAccountRequestBodyCapabilities'CardIssuing'
   -> Maybe PostAccountRequestBodyCapabilities'CardPayments'
   -> Maybe
        PostAccountRequestBodyCapabilities'CartesBancairesPayments'
   -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
   -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
   -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
   -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
   -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
   -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
      -> Maybe PostAccountRequestBodyCapabilities'CardIssuing'
      -> Maybe PostAccountRequestBodyCapabilities'CardPayments'
      -> Maybe
           PostAccountRequestBodyCapabilities'CartesBancairesPayments'
      -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
      -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
      -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
      -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
      -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
      -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"au_becs_debit_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
   -> Maybe PostAccountRequestBodyCapabilities'CardIssuing'
   -> Maybe PostAccountRequestBodyCapabilities'CardPayments'
   -> Maybe
        PostAccountRequestBodyCapabilities'CartesBancairesPayments'
   -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
   -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
   -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
   -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
   -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
   -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
      -> Maybe PostAccountRequestBodyCapabilities'CardIssuing'
      -> Maybe PostAccountRequestBodyCapabilities'CardPayments'
      -> Maybe
           PostAccountRequestBodyCapabilities'CartesBancairesPayments'
      -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
      -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
      -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
      -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
      -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
      -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"bacs_debit_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
   -> Maybe PostAccountRequestBodyCapabilities'CardIssuing'
   -> Maybe PostAccountRequestBodyCapabilities'CardPayments'
   -> Maybe
        PostAccountRequestBodyCapabilities'CartesBancairesPayments'
   -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
   -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
   -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
   -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
   -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
   -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'BancontactPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'CardIssuing'
      -> Maybe PostAccountRequestBodyCapabilities'CardPayments'
      -> Maybe
           PostAccountRequestBodyCapabilities'CartesBancairesPayments'
      -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
      -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
      -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
      -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
      -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
      -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'BancontactPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"bancontact_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'CardIssuing'
   -> Maybe PostAccountRequestBodyCapabilities'CardPayments'
   -> Maybe
        PostAccountRequestBodyCapabilities'CartesBancairesPayments'
   -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
   -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
   -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
   -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
   -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
   -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser (Maybe PostAccountRequestBodyCapabilities'CardIssuing')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'CardPayments'
      -> Maybe
           PostAccountRequestBodyCapabilities'CartesBancairesPayments'
      -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
      -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
      -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
      -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
      -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
      -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyCapabilities'CardIssuing')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"card_issuing")) Parser
  (Maybe PostAccountRequestBodyCapabilities'CardPayments'
   -> Maybe
        PostAccountRequestBodyCapabilities'CartesBancairesPayments'
   -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
   -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
   -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
   -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
   -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
   -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser (Maybe PostAccountRequestBodyCapabilities'CardPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'CartesBancairesPayments'
      -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
      -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
      -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
      -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
      -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
      -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyCapabilities'CardPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"card_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'CartesBancairesPayments'
   -> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
   -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
   -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
   -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
   -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
   -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'CartesBancairesPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'EpsPayments'
      -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
      -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
      -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
      -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
      -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'CartesBancairesPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"cartes_bancaires_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'EpsPayments'
   -> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
   -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
   -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
   -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
   -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser (Maybe PostAccountRequestBodyCapabilities'EpsPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'FpxPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
      -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
      -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
      -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
      -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyCapabilities'EpsPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"eps_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'FpxPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
   -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
   -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
   -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
   -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser (Maybe PostAccountRequestBodyCapabilities'FpxPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
      -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
      -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
      -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
      -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyCapabilities'FpxPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"fpx_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
   -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
   -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
   -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
   -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'GiropayPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
      -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
      -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
      -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
      -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
      -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'GiropayPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"giropay_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
   -> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
   -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
   -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
   -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
   -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'GrabpayPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'IdealPayments'
      -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
      -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
      -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
      -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'GrabpayPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"grabpay_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'IdealPayments'
   -> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
   -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
   -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
   -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser (Maybe PostAccountRequestBodyCapabilities'IdealPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'JcbPayments'
      -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
      -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
      -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyCapabilities'IdealPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"ideal_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'JcbPayments'
   -> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
   -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
   -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser (Maybe PostAccountRequestBodyCapabilities'JcbPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
      -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
      -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyCapabilities'JcbPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"jcb_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
   -> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
   -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'LegacyPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
      -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'LegacyPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"legacy_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
   -> Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser (Maybe PostAccountRequestBodyCapabilities'OxxoPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'P24Payments'
      -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyCapabilities'OxxoPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"oxxo_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'P24Payments'
   -> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser (Maybe PostAccountRequestBodyCapabilities'P24Payments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
      -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyCapabilities'P24Payments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"p24_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
   -> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'SofortPayments'
      -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"sepa_debit_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'SofortPayments'
   -> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'SofortPayments')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
      -> Maybe
           PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'SofortPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"sofort_payments")) Parser
  (Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
   -> Maybe
        PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
      -> Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax_reporting_us_1099_k")) Parser
  (Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
   -> Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc')
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'Transfers'
      -> PostAccountRequestBodyCapabilities')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax_reporting_us_1099_misc")) Parser
  (Maybe PostAccountRequestBodyCapabilities'Transfers'
   -> PostAccountRequestBodyCapabilities')
-> Parser (Maybe PostAccountRequestBodyCapabilities'Transfers')
-> Parser PostAccountRequestBodyCapabilities'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyCapabilities'Transfers')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"transfers"))

-- | Create a new 'PostAccountRequestBodyCapabilities'' with all required fields.
mkPostAccountRequestBodyCapabilities' :: PostAccountRequestBodyCapabilities'
mkPostAccountRequestBodyCapabilities' :: PostAccountRequestBodyCapabilities'
mkPostAccountRequestBodyCapabilities' =
  PostAccountRequestBodyCapabilities' :: Maybe PostAccountRequestBodyCapabilities'AcssDebitPayments'
-> Maybe
     PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
-> Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
-> Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
-> Maybe PostAccountRequestBodyCapabilities'CardIssuing'
-> Maybe PostAccountRequestBodyCapabilities'CardPayments'
-> Maybe
     PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> Maybe PostAccountRequestBodyCapabilities'EpsPayments'
-> Maybe PostAccountRequestBodyCapabilities'FpxPayments'
-> Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
-> Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
-> Maybe PostAccountRequestBodyCapabilities'IdealPayments'
-> Maybe PostAccountRequestBodyCapabilities'JcbPayments'
-> Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
-> Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
-> Maybe PostAccountRequestBodyCapabilities'P24Payments'
-> Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
-> Maybe PostAccountRequestBodyCapabilities'SofortPayments'
-> Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
-> Maybe
     PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> Maybe PostAccountRequestBodyCapabilities'Transfers'
-> PostAccountRequestBodyCapabilities'
PostAccountRequestBodyCapabilities'
    { postAccountRequestBodyCapabilities'AcssDebitPayments :: Maybe PostAccountRequestBodyCapabilities'AcssDebitPayments'
postAccountRequestBodyCapabilities'AcssDebitPayments = Maybe PostAccountRequestBodyCapabilities'AcssDebitPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'AfterpayClearpayPayments :: Maybe PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
postAccountRequestBodyCapabilities'AfterpayClearpayPayments = Maybe PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'AuBecsDebitPayments :: Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
postAccountRequestBodyCapabilities'AuBecsDebitPayments = Maybe PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'BacsDebitPayments :: Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
postAccountRequestBodyCapabilities'BacsDebitPayments = Maybe PostAccountRequestBodyCapabilities'BacsDebitPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'BancontactPayments :: Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
postAccountRequestBodyCapabilities'BancontactPayments = Maybe PostAccountRequestBodyCapabilities'BancontactPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'CardIssuing :: Maybe PostAccountRequestBodyCapabilities'CardIssuing'
postAccountRequestBodyCapabilities'CardIssuing = Maybe PostAccountRequestBodyCapabilities'CardIssuing'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'CardPayments :: Maybe PostAccountRequestBodyCapabilities'CardPayments'
postAccountRequestBodyCapabilities'CardPayments = Maybe PostAccountRequestBodyCapabilities'CardPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'CartesBancairesPayments :: Maybe PostAccountRequestBodyCapabilities'CartesBancairesPayments'
postAccountRequestBodyCapabilities'CartesBancairesPayments = Maybe PostAccountRequestBodyCapabilities'CartesBancairesPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'EpsPayments :: Maybe PostAccountRequestBodyCapabilities'EpsPayments'
postAccountRequestBodyCapabilities'EpsPayments = Maybe PostAccountRequestBodyCapabilities'EpsPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'FpxPayments :: Maybe PostAccountRequestBodyCapabilities'FpxPayments'
postAccountRequestBodyCapabilities'FpxPayments = Maybe PostAccountRequestBodyCapabilities'FpxPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'GiropayPayments :: Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
postAccountRequestBodyCapabilities'GiropayPayments = Maybe PostAccountRequestBodyCapabilities'GiropayPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'GrabpayPayments :: Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
postAccountRequestBodyCapabilities'GrabpayPayments = Maybe PostAccountRequestBodyCapabilities'GrabpayPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'IdealPayments :: Maybe PostAccountRequestBodyCapabilities'IdealPayments'
postAccountRequestBodyCapabilities'IdealPayments = Maybe PostAccountRequestBodyCapabilities'IdealPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'JcbPayments :: Maybe PostAccountRequestBodyCapabilities'JcbPayments'
postAccountRequestBodyCapabilities'JcbPayments = Maybe PostAccountRequestBodyCapabilities'JcbPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'LegacyPayments :: Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
postAccountRequestBodyCapabilities'LegacyPayments = Maybe PostAccountRequestBodyCapabilities'LegacyPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'OxxoPayments :: Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
postAccountRequestBodyCapabilities'OxxoPayments = Maybe PostAccountRequestBodyCapabilities'OxxoPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'P24Payments :: Maybe PostAccountRequestBodyCapabilities'P24Payments'
postAccountRequestBodyCapabilities'P24Payments = Maybe PostAccountRequestBodyCapabilities'P24Payments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'SepaDebitPayments :: Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
postAccountRequestBodyCapabilities'SepaDebitPayments = Maybe PostAccountRequestBodyCapabilities'SepaDebitPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'SofortPayments :: Maybe PostAccountRequestBodyCapabilities'SofortPayments'
postAccountRequestBodyCapabilities'SofortPayments = Maybe PostAccountRequestBodyCapabilities'SofortPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'TaxReportingUs_1099K :: Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
postAccountRequestBodyCapabilities'TaxReportingUs_1099K = Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'TaxReportingUs_1099Misc :: Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
postAccountRequestBodyCapabilities'TaxReportingUs_1099Misc = Maybe PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCapabilities'Transfers :: Maybe PostAccountRequestBodyCapabilities'Transfers'
postAccountRequestBodyCapabilities'Transfers = Maybe PostAccountRequestBodyCapabilities'Transfers'
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.acss_debit_payments@ in the specification.
data PostAccountRequestBodyCapabilities'AcssDebitPayments' = PostAccountRequestBodyCapabilities'AcssDebitPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'AcssDebitPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'AcssDebitPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int
-> PostAccountRequestBodyCapabilities'AcssDebitPayments' -> ShowS
[PostAccountRequestBodyCapabilities'AcssDebitPayments'] -> ShowS
PostAccountRequestBodyCapabilities'AcssDebitPayments' -> String
(Int
 -> PostAccountRequestBodyCapabilities'AcssDebitPayments' -> ShowS)
-> (PostAccountRequestBodyCapabilities'AcssDebitPayments'
    -> String)
-> ([PostAccountRequestBodyCapabilities'AcssDebitPayments']
    -> ShowS)
-> Show PostAccountRequestBodyCapabilities'AcssDebitPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'AcssDebitPayments'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'AcssDebitPayments'] -> ShowS
show :: PostAccountRequestBodyCapabilities'AcssDebitPayments' -> String
$cshow :: PostAccountRequestBodyCapabilities'AcssDebitPayments' -> String
showsPrec :: Int
-> PostAccountRequestBodyCapabilities'AcssDebitPayments' -> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyCapabilities'AcssDebitPayments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'AcssDebitPayments'
-> PostAccountRequestBodyCapabilities'AcssDebitPayments' -> Bool
(PostAccountRequestBodyCapabilities'AcssDebitPayments'
 -> PostAccountRequestBodyCapabilities'AcssDebitPayments' -> Bool)
-> (PostAccountRequestBodyCapabilities'AcssDebitPayments'
    -> PostAccountRequestBodyCapabilities'AcssDebitPayments' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'AcssDebitPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'AcssDebitPayments'
-> PostAccountRequestBodyCapabilities'AcssDebitPayments' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'AcssDebitPayments'
-> PostAccountRequestBodyCapabilities'AcssDebitPayments' -> Bool
== :: PostAccountRequestBodyCapabilities'AcssDebitPayments'
-> PostAccountRequestBodyCapabilities'AcssDebitPayments' -> Bool
$c== :: PostAccountRequestBodyCapabilities'AcssDebitPayments'
-> PostAccountRequestBodyCapabilities'AcssDebitPayments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'AcssDebitPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'AcssDebitPayments' -> Value
toJSON PostAccountRequestBodyCapabilities'AcssDebitPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'AcssDebitPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'AcssDebitPayments'Requested PostAccountRequestBodyCapabilities'AcssDebitPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'AcssDebitPayments' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'AcssDebitPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'AcssDebitPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'AcssDebitPayments'Requested PostAccountRequestBodyCapabilities'AcssDebitPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'AcssDebitPayments' where
  parseJSON :: Value
-> Parser PostAccountRequestBodyCapabilities'AcssDebitPayments'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'AcssDebitPayments')
-> Value
-> Parser PostAccountRequestBodyCapabilities'AcssDebitPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'AcssDebitPayments'" (\Object
obj -> (Maybe Bool
 -> PostAccountRequestBodyCapabilities'AcssDebitPayments')
-> Parser
     (Maybe Bool
      -> PostAccountRequestBodyCapabilities'AcssDebitPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool -> PostAccountRequestBodyCapabilities'AcssDebitPayments'
PostAccountRequestBodyCapabilities'AcssDebitPayments' Parser
  (Maybe Bool
   -> PostAccountRequestBodyCapabilities'AcssDebitPayments')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'AcssDebitPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'AcssDebitPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'AcssDebitPayments' :: PostAccountRequestBodyCapabilities'AcssDebitPayments'
mkPostAccountRequestBodyCapabilities'AcssDebitPayments' :: PostAccountRequestBodyCapabilities'AcssDebitPayments'
mkPostAccountRequestBodyCapabilities'AcssDebitPayments' = PostAccountRequestBodyCapabilities'AcssDebitPayments' :: Maybe Bool -> PostAccountRequestBodyCapabilities'AcssDebitPayments'
PostAccountRequestBodyCapabilities'AcssDebitPayments' {postAccountRequestBodyCapabilities'AcssDebitPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'AcssDebitPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.afterpay_clearpay_payments@ in the specification.
data PostAccountRequestBodyCapabilities'AfterpayClearpayPayments' = PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> Maybe Bool
postAccountRequestBodyCapabilities'AfterpayClearpayPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int
-> PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> ShowS
[PostAccountRequestBodyCapabilities'AfterpayClearpayPayments']
-> ShowS
PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> String
(Int
 -> PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
 -> ShowS)
-> (PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
    -> String)
-> ([PostAccountRequestBodyCapabilities'AfterpayClearpayPayments']
    -> ShowS)
-> Show
     PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'AfterpayClearpayPayments']
-> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'AfterpayClearpayPayments']
-> ShowS
show :: PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> String
$cshow :: PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> String
showsPrec :: Int
-> PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> Bool
(PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
 -> PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
 -> Bool)
-> (PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
    -> PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
    -> Bool)
-> Eq PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> Bool
$c/= :: PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> Bool
== :: PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> Bool
$c== :: PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'AfterpayClearpayPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> Value
toJSON PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> Maybe Bool
postAccountRequestBodyCapabilities'AfterpayClearpayPayments'Requested PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> Encoding
toEncoding PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
-> Maybe Bool
postAccountRequestBodyCapabilities'AfterpayClearpayPayments'Requested PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'AfterpayClearpayPayments' where
  parseJSON :: Value
-> Parser
     PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
parseJSON = String
-> (Object
    -> Parser
         PostAccountRequestBodyCapabilities'AfterpayClearpayPayments')
-> Value
-> Parser
     PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'" (\Object
obj -> (Maybe Bool
 -> PostAccountRequestBodyCapabilities'AfterpayClearpayPayments')
-> Parser
     (Maybe Bool
      -> PostAccountRequestBodyCapabilities'AfterpayClearpayPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool
-> PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
PostAccountRequestBodyCapabilities'AfterpayClearpayPayments' Parser
  (Maybe Bool
   -> PostAccountRequestBodyCapabilities'AfterpayClearpayPayments')
-> Parser (Maybe Bool)
-> Parser
     PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'AfterpayClearpayPayments' :: PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
mkPostAccountRequestBodyCapabilities'AfterpayClearpayPayments' :: PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
mkPostAccountRequestBodyCapabilities'AfterpayClearpayPayments' = PostAccountRequestBodyCapabilities'AfterpayClearpayPayments' :: Maybe Bool
-> PostAccountRequestBodyCapabilities'AfterpayClearpayPayments'
PostAccountRequestBodyCapabilities'AfterpayClearpayPayments' {postAccountRequestBodyCapabilities'AfterpayClearpayPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'AfterpayClearpayPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.au_becs_debit_payments@ in the specification.
data PostAccountRequestBodyCapabilities'AuBecsDebitPayments' = PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
-> Maybe Bool
postAccountRequestBodyCapabilities'AuBecsDebitPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int
-> PostAccountRequestBodyCapabilities'AuBecsDebitPayments' -> ShowS
[PostAccountRequestBodyCapabilities'AuBecsDebitPayments'] -> ShowS
PostAccountRequestBodyCapabilities'AuBecsDebitPayments' -> String
(Int
 -> PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
 -> ShowS)
-> (PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
    -> String)
-> ([PostAccountRequestBodyCapabilities'AuBecsDebitPayments']
    -> ShowS)
-> Show PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'AuBecsDebitPayments'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'AuBecsDebitPayments'] -> ShowS
show :: PostAccountRequestBodyCapabilities'AuBecsDebitPayments' -> String
$cshow :: PostAccountRequestBodyCapabilities'AuBecsDebitPayments' -> String
showsPrec :: Int
-> PostAccountRequestBodyCapabilities'AuBecsDebitPayments' -> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyCapabilities'AuBecsDebitPayments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
-> PostAccountRequestBodyCapabilities'AuBecsDebitPayments' -> Bool
(PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
 -> PostAccountRequestBodyCapabilities'AuBecsDebitPayments' -> Bool)
-> (PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
    -> PostAccountRequestBodyCapabilities'AuBecsDebitPayments' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
-> PostAccountRequestBodyCapabilities'AuBecsDebitPayments' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
-> PostAccountRequestBodyCapabilities'AuBecsDebitPayments' -> Bool
== :: PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
-> PostAccountRequestBodyCapabilities'AuBecsDebitPayments' -> Bool
$c== :: PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
-> PostAccountRequestBodyCapabilities'AuBecsDebitPayments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'AuBecsDebitPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'AuBecsDebitPayments' -> Value
toJSON PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
-> Maybe Bool
postAccountRequestBodyCapabilities'AuBecsDebitPayments'Requested PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'AuBecsDebitPayments' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
-> Maybe Bool
postAccountRequestBodyCapabilities'AuBecsDebitPayments'Requested PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'AuBecsDebitPayments' where
  parseJSON :: Value
-> Parser PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'AuBecsDebitPayments')
-> Value
-> Parser PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'AuBecsDebitPayments'" (\Object
obj -> (Maybe Bool
 -> PostAccountRequestBodyCapabilities'AuBecsDebitPayments')
-> Parser
     (Maybe Bool
      -> PostAccountRequestBodyCapabilities'AuBecsDebitPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool
-> PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
PostAccountRequestBodyCapabilities'AuBecsDebitPayments' Parser
  (Maybe Bool
   -> PostAccountRequestBodyCapabilities'AuBecsDebitPayments')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'AuBecsDebitPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'AuBecsDebitPayments' :: PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
mkPostAccountRequestBodyCapabilities'AuBecsDebitPayments' :: PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
mkPostAccountRequestBodyCapabilities'AuBecsDebitPayments' = PostAccountRequestBodyCapabilities'AuBecsDebitPayments' :: Maybe Bool
-> PostAccountRequestBodyCapabilities'AuBecsDebitPayments'
PostAccountRequestBodyCapabilities'AuBecsDebitPayments' {postAccountRequestBodyCapabilities'AuBecsDebitPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'AuBecsDebitPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.bacs_debit_payments@ in the specification.
data PostAccountRequestBodyCapabilities'BacsDebitPayments' = PostAccountRequestBodyCapabilities'BacsDebitPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'BacsDebitPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'BacsDebitPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int
-> PostAccountRequestBodyCapabilities'BacsDebitPayments' -> ShowS
[PostAccountRequestBodyCapabilities'BacsDebitPayments'] -> ShowS
PostAccountRequestBodyCapabilities'BacsDebitPayments' -> String
(Int
 -> PostAccountRequestBodyCapabilities'BacsDebitPayments' -> ShowS)
-> (PostAccountRequestBodyCapabilities'BacsDebitPayments'
    -> String)
-> ([PostAccountRequestBodyCapabilities'BacsDebitPayments']
    -> ShowS)
-> Show PostAccountRequestBodyCapabilities'BacsDebitPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'BacsDebitPayments'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'BacsDebitPayments'] -> ShowS
show :: PostAccountRequestBodyCapabilities'BacsDebitPayments' -> String
$cshow :: PostAccountRequestBodyCapabilities'BacsDebitPayments' -> String
showsPrec :: Int
-> PostAccountRequestBodyCapabilities'BacsDebitPayments' -> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyCapabilities'BacsDebitPayments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'BacsDebitPayments'
-> PostAccountRequestBodyCapabilities'BacsDebitPayments' -> Bool
(PostAccountRequestBodyCapabilities'BacsDebitPayments'
 -> PostAccountRequestBodyCapabilities'BacsDebitPayments' -> Bool)
-> (PostAccountRequestBodyCapabilities'BacsDebitPayments'
    -> PostAccountRequestBodyCapabilities'BacsDebitPayments' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'BacsDebitPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'BacsDebitPayments'
-> PostAccountRequestBodyCapabilities'BacsDebitPayments' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'BacsDebitPayments'
-> PostAccountRequestBodyCapabilities'BacsDebitPayments' -> Bool
== :: PostAccountRequestBodyCapabilities'BacsDebitPayments'
-> PostAccountRequestBodyCapabilities'BacsDebitPayments' -> Bool
$c== :: PostAccountRequestBodyCapabilities'BacsDebitPayments'
-> PostAccountRequestBodyCapabilities'BacsDebitPayments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'BacsDebitPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'BacsDebitPayments' -> Value
toJSON PostAccountRequestBodyCapabilities'BacsDebitPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'BacsDebitPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'BacsDebitPayments'Requested PostAccountRequestBodyCapabilities'BacsDebitPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'BacsDebitPayments' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'BacsDebitPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'BacsDebitPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'BacsDebitPayments'Requested PostAccountRequestBodyCapabilities'BacsDebitPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'BacsDebitPayments' where
  parseJSON :: Value
-> Parser PostAccountRequestBodyCapabilities'BacsDebitPayments'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'BacsDebitPayments')
-> Value
-> Parser PostAccountRequestBodyCapabilities'BacsDebitPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'BacsDebitPayments'" (\Object
obj -> (Maybe Bool
 -> PostAccountRequestBodyCapabilities'BacsDebitPayments')
-> Parser
     (Maybe Bool
      -> PostAccountRequestBodyCapabilities'BacsDebitPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool -> PostAccountRequestBodyCapabilities'BacsDebitPayments'
PostAccountRequestBodyCapabilities'BacsDebitPayments' Parser
  (Maybe Bool
   -> PostAccountRequestBodyCapabilities'BacsDebitPayments')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'BacsDebitPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'BacsDebitPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'BacsDebitPayments' :: PostAccountRequestBodyCapabilities'BacsDebitPayments'
mkPostAccountRequestBodyCapabilities'BacsDebitPayments' :: PostAccountRequestBodyCapabilities'BacsDebitPayments'
mkPostAccountRequestBodyCapabilities'BacsDebitPayments' = PostAccountRequestBodyCapabilities'BacsDebitPayments' :: Maybe Bool -> PostAccountRequestBodyCapabilities'BacsDebitPayments'
PostAccountRequestBodyCapabilities'BacsDebitPayments' {postAccountRequestBodyCapabilities'BacsDebitPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'BacsDebitPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.bancontact_payments@ in the specification.
data PostAccountRequestBodyCapabilities'BancontactPayments' = PostAccountRequestBodyCapabilities'BancontactPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'BancontactPayments'
-> Maybe Bool
postAccountRequestBodyCapabilities'BancontactPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int
-> PostAccountRequestBodyCapabilities'BancontactPayments' -> ShowS
[PostAccountRequestBodyCapabilities'BancontactPayments'] -> ShowS
PostAccountRequestBodyCapabilities'BancontactPayments' -> String
(Int
 -> PostAccountRequestBodyCapabilities'BancontactPayments' -> ShowS)
-> (PostAccountRequestBodyCapabilities'BancontactPayments'
    -> String)
-> ([PostAccountRequestBodyCapabilities'BancontactPayments']
    -> ShowS)
-> Show PostAccountRequestBodyCapabilities'BancontactPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'BancontactPayments'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'BancontactPayments'] -> ShowS
show :: PostAccountRequestBodyCapabilities'BancontactPayments' -> String
$cshow :: PostAccountRequestBodyCapabilities'BancontactPayments' -> String
showsPrec :: Int
-> PostAccountRequestBodyCapabilities'BancontactPayments' -> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyCapabilities'BancontactPayments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'BancontactPayments'
-> PostAccountRequestBodyCapabilities'BancontactPayments' -> Bool
(PostAccountRequestBodyCapabilities'BancontactPayments'
 -> PostAccountRequestBodyCapabilities'BancontactPayments' -> Bool)
-> (PostAccountRequestBodyCapabilities'BancontactPayments'
    -> PostAccountRequestBodyCapabilities'BancontactPayments' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'BancontactPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'BancontactPayments'
-> PostAccountRequestBodyCapabilities'BancontactPayments' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'BancontactPayments'
-> PostAccountRequestBodyCapabilities'BancontactPayments' -> Bool
== :: PostAccountRequestBodyCapabilities'BancontactPayments'
-> PostAccountRequestBodyCapabilities'BancontactPayments' -> Bool
$c== :: PostAccountRequestBodyCapabilities'BancontactPayments'
-> PostAccountRequestBodyCapabilities'BancontactPayments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'BancontactPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'BancontactPayments' -> Value
toJSON PostAccountRequestBodyCapabilities'BancontactPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'BancontactPayments'
-> Maybe Bool
postAccountRequestBodyCapabilities'BancontactPayments'Requested PostAccountRequestBodyCapabilities'BancontactPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'BancontactPayments' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'BancontactPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'BancontactPayments'
-> Maybe Bool
postAccountRequestBodyCapabilities'BancontactPayments'Requested PostAccountRequestBodyCapabilities'BancontactPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'BancontactPayments' where
  parseJSON :: Value
-> Parser PostAccountRequestBodyCapabilities'BancontactPayments'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'BancontactPayments')
-> Value
-> Parser PostAccountRequestBodyCapabilities'BancontactPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'BancontactPayments'" (\Object
obj -> (Maybe Bool
 -> PostAccountRequestBodyCapabilities'BancontactPayments')
-> Parser
     (Maybe Bool
      -> PostAccountRequestBodyCapabilities'BancontactPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool
-> PostAccountRequestBodyCapabilities'BancontactPayments'
PostAccountRequestBodyCapabilities'BancontactPayments' Parser
  (Maybe Bool
   -> PostAccountRequestBodyCapabilities'BancontactPayments')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'BancontactPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'BancontactPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'BancontactPayments' :: PostAccountRequestBodyCapabilities'BancontactPayments'
mkPostAccountRequestBodyCapabilities'BancontactPayments' :: PostAccountRequestBodyCapabilities'BancontactPayments'
mkPostAccountRequestBodyCapabilities'BancontactPayments' = PostAccountRequestBodyCapabilities'BancontactPayments' :: Maybe Bool
-> PostAccountRequestBodyCapabilities'BancontactPayments'
PostAccountRequestBodyCapabilities'BancontactPayments' {postAccountRequestBodyCapabilities'BancontactPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'BancontactPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.card_issuing@ in the specification.
data PostAccountRequestBodyCapabilities'CardIssuing' = PostAccountRequestBodyCapabilities'CardIssuing'
  { -- | requested
    PostAccountRequestBodyCapabilities'CardIssuing' -> Maybe Bool
postAccountRequestBodyCapabilities'CardIssuing'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int -> PostAccountRequestBodyCapabilities'CardIssuing' -> ShowS
[PostAccountRequestBodyCapabilities'CardIssuing'] -> ShowS
PostAccountRequestBodyCapabilities'CardIssuing' -> String
(Int -> PostAccountRequestBodyCapabilities'CardIssuing' -> ShowS)
-> (PostAccountRequestBodyCapabilities'CardIssuing' -> String)
-> ([PostAccountRequestBodyCapabilities'CardIssuing'] -> ShowS)
-> Show PostAccountRequestBodyCapabilities'CardIssuing'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'CardIssuing'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'CardIssuing'] -> ShowS
show :: PostAccountRequestBodyCapabilities'CardIssuing' -> String
$cshow :: PostAccountRequestBodyCapabilities'CardIssuing' -> String
showsPrec :: Int -> PostAccountRequestBodyCapabilities'CardIssuing' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCapabilities'CardIssuing' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'CardIssuing'
-> PostAccountRequestBodyCapabilities'CardIssuing' -> Bool
(PostAccountRequestBodyCapabilities'CardIssuing'
 -> PostAccountRequestBodyCapabilities'CardIssuing' -> Bool)
-> (PostAccountRequestBodyCapabilities'CardIssuing'
    -> PostAccountRequestBodyCapabilities'CardIssuing' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'CardIssuing'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'CardIssuing'
-> PostAccountRequestBodyCapabilities'CardIssuing' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'CardIssuing'
-> PostAccountRequestBodyCapabilities'CardIssuing' -> Bool
== :: PostAccountRequestBodyCapabilities'CardIssuing'
-> PostAccountRequestBodyCapabilities'CardIssuing' -> Bool
$c== :: PostAccountRequestBodyCapabilities'CardIssuing'
-> PostAccountRequestBodyCapabilities'CardIssuing' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'CardIssuing' where
  toJSON :: PostAccountRequestBodyCapabilities'CardIssuing' -> Value
toJSON PostAccountRequestBodyCapabilities'CardIssuing'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'CardIssuing' -> Maybe Bool
postAccountRequestBodyCapabilities'CardIssuing'Requested PostAccountRequestBodyCapabilities'CardIssuing'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'CardIssuing' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'CardIssuing'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'CardIssuing' -> Maybe Bool
postAccountRequestBodyCapabilities'CardIssuing'Requested PostAccountRequestBodyCapabilities'CardIssuing'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'CardIssuing' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCapabilities'CardIssuing'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'CardIssuing')
-> Value
-> Parser PostAccountRequestBodyCapabilities'CardIssuing'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'CardIssuing'" (\Object
obj -> (Maybe Bool -> PostAccountRequestBodyCapabilities'CardIssuing')
-> Parser
     (Maybe Bool -> PostAccountRequestBodyCapabilities'CardIssuing')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool -> PostAccountRequestBodyCapabilities'CardIssuing'
PostAccountRequestBodyCapabilities'CardIssuing' Parser
  (Maybe Bool -> PostAccountRequestBodyCapabilities'CardIssuing')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'CardIssuing'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'CardIssuing'' with all required fields.
mkPostAccountRequestBodyCapabilities'CardIssuing' :: PostAccountRequestBodyCapabilities'CardIssuing'
mkPostAccountRequestBodyCapabilities'CardIssuing' :: PostAccountRequestBodyCapabilities'CardIssuing'
mkPostAccountRequestBodyCapabilities'CardIssuing' = PostAccountRequestBodyCapabilities'CardIssuing' :: Maybe Bool -> PostAccountRequestBodyCapabilities'CardIssuing'
PostAccountRequestBodyCapabilities'CardIssuing' {postAccountRequestBodyCapabilities'CardIssuing'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'CardIssuing'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.card_payments@ in the specification.
data PostAccountRequestBodyCapabilities'CardPayments' = PostAccountRequestBodyCapabilities'CardPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'CardPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'CardPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int -> PostAccountRequestBodyCapabilities'CardPayments' -> ShowS
[PostAccountRequestBodyCapabilities'CardPayments'] -> ShowS
PostAccountRequestBodyCapabilities'CardPayments' -> String
(Int -> PostAccountRequestBodyCapabilities'CardPayments' -> ShowS)
-> (PostAccountRequestBodyCapabilities'CardPayments' -> String)
-> ([PostAccountRequestBodyCapabilities'CardPayments'] -> ShowS)
-> Show PostAccountRequestBodyCapabilities'CardPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'CardPayments'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'CardPayments'] -> ShowS
show :: PostAccountRequestBodyCapabilities'CardPayments' -> String
$cshow :: PostAccountRequestBodyCapabilities'CardPayments' -> String
showsPrec :: Int -> PostAccountRequestBodyCapabilities'CardPayments' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCapabilities'CardPayments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'CardPayments'
-> PostAccountRequestBodyCapabilities'CardPayments' -> Bool
(PostAccountRequestBodyCapabilities'CardPayments'
 -> PostAccountRequestBodyCapabilities'CardPayments' -> Bool)
-> (PostAccountRequestBodyCapabilities'CardPayments'
    -> PostAccountRequestBodyCapabilities'CardPayments' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'CardPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'CardPayments'
-> PostAccountRequestBodyCapabilities'CardPayments' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'CardPayments'
-> PostAccountRequestBodyCapabilities'CardPayments' -> Bool
== :: PostAccountRequestBodyCapabilities'CardPayments'
-> PostAccountRequestBodyCapabilities'CardPayments' -> Bool
$c== :: PostAccountRequestBodyCapabilities'CardPayments'
-> PostAccountRequestBodyCapabilities'CardPayments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'CardPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'CardPayments' -> Value
toJSON PostAccountRequestBodyCapabilities'CardPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'CardPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'CardPayments'Requested PostAccountRequestBodyCapabilities'CardPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'CardPayments' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'CardPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'CardPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'CardPayments'Requested PostAccountRequestBodyCapabilities'CardPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'CardPayments' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCapabilities'CardPayments'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'CardPayments')
-> Value
-> Parser PostAccountRequestBodyCapabilities'CardPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'CardPayments'" (\Object
obj -> (Maybe Bool -> PostAccountRequestBodyCapabilities'CardPayments')
-> Parser
     (Maybe Bool -> PostAccountRequestBodyCapabilities'CardPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool -> PostAccountRequestBodyCapabilities'CardPayments'
PostAccountRequestBodyCapabilities'CardPayments' Parser
  (Maybe Bool -> PostAccountRequestBodyCapabilities'CardPayments')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'CardPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'CardPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'CardPayments' :: PostAccountRequestBodyCapabilities'CardPayments'
mkPostAccountRequestBodyCapabilities'CardPayments' :: PostAccountRequestBodyCapabilities'CardPayments'
mkPostAccountRequestBodyCapabilities'CardPayments' = PostAccountRequestBodyCapabilities'CardPayments' :: Maybe Bool -> PostAccountRequestBodyCapabilities'CardPayments'
PostAccountRequestBodyCapabilities'CardPayments' {postAccountRequestBodyCapabilities'CardPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'CardPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.cartes_bancaires_payments@ in the specification.
data PostAccountRequestBodyCapabilities'CartesBancairesPayments' = PostAccountRequestBodyCapabilities'CartesBancairesPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> Maybe Bool
postAccountRequestBodyCapabilities'CartesBancairesPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int
-> PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> ShowS
[PostAccountRequestBodyCapabilities'CartesBancairesPayments']
-> ShowS
PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> String
(Int
 -> PostAccountRequestBodyCapabilities'CartesBancairesPayments'
 -> ShowS)
-> (PostAccountRequestBodyCapabilities'CartesBancairesPayments'
    -> String)
-> ([PostAccountRequestBodyCapabilities'CartesBancairesPayments']
    -> ShowS)
-> Show PostAccountRequestBodyCapabilities'CartesBancairesPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'CartesBancairesPayments']
-> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'CartesBancairesPayments']
-> ShowS
show :: PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> String
$cshow :: PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> String
showsPrec :: Int
-> PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> Bool
(PostAccountRequestBodyCapabilities'CartesBancairesPayments'
 -> PostAccountRequestBodyCapabilities'CartesBancairesPayments'
 -> Bool)
-> (PostAccountRequestBodyCapabilities'CartesBancairesPayments'
    -> PostAccountRequestBodyCapabilities'CartesBancairesPayments'
    -> Bool)
-> Eq PostAccountRequestBodyCapabilities'CartesBancairesPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> Bool
$c/= :: PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> Bool
== :: PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> Bool
$c== :: PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'CartesBancairesPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> Value
toJSON PostAccountRequestBodyCapabilities'CartesBancairesPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> Maybe Bool
postAccountRequestBodyCapabilities'CartesBancairesPayments'Requested PostAccountRequestBodyCapabilities'CartesBancairesPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> Encoding
toEncoding PostAccountRequestBodyCapabilities'CartesBancairesPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'CartesBancairesPayments'
-> Maybe Bool
postAccountRequestBodyCapabilities'CartesBancairesPayments'Requested PostAccountRequestBodyCapabilities'CartesBancairesPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'CartesBancairesPayments' where
  parseJSON :: Value
-> Parser
     PostAccountRequestBodyCapabilities'CartesBancairesPayments'
parseJSON = String
-> (Object
    -> Parser
         PostAccountRequestBodyCapabilities'CartesBancairesPayments')
-> Value
-> Parser
     PostAccountRequestBodyCapabilities'CartesBancairesPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'CartesBancairesPayments'" (\Object
obj -> (Maybe Bool
 -> PostAccountRequestBodyCapabilities'CartesBancairesPayments')
-> Parser
     (Maybe Bool
      -> PostAccountRequestBodyCapabilities'CartesBancairesPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool
-> PostAccountRequestBodyCapabilities'CartesBancairesPayments'
PostAccountRequestBodyCapabilities'CartesBancairesPayments' Parser
  (Maybe Bool
   -> PostAccountRequestBodyCapabilities'CartesBancairesPayments')
-> Parser (Maybe Bool)
-> Parser
     PostAccountRequestBodyCapabilities'CartesBancairesPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'CartesBancairesPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'CartesBancairesPayments' :: PostAccountRequestBodyCapabilities'CartesBancairesPayments'
mkPostAccountRequestBodyCapabilities'CartesBancairesPayments' :: PostAccountRequestBodyCapabilities'CartesBancairesPayments'
mkPostAccountRequestBodyCapabilities'CartesBancairesPayments' = PostAccountRequestBodyCapabilities'CartesBancairesPayments' :: Maybe Bool
-> PostAccountRequestBodyCapabilities'CartesBancairesPayments'
PostAccountRequestBodyCapabilities'CartesBancairesPayments' {postAccountRequestBodyCapabilities'CartesBancairesPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'CartesBancairesPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.eps_payments@ in the specification.
data PostAccountRequestBodyCapabilities'EpsPayments' = PostAccountRequestBodyCapabilities'EpsPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'EpsPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'EpsPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int -> PostAccountRequestBodyCapabilities'EpsPayments' -> ShowS
[PostAccountRequestBodyCapabilities'EpsPayments'] -> ShowS
PostAccountRequestBodyCapabilities'EpsPayments' -> String
(Int -> PostAccountRequestBodyCapabilities'EpsPayments' -> ShowS)
-> (PostAccountRequestBodyCapabilities'EpsPayments' -> String)
-> ([PostAccountRequestBodyCapabilities'EpsPayments'] -> ShowS)
-> Show PostAccountRequestBodyCapabilities'EpsPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'EpsPayments'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'EpsPayments'] -> ShowS
show :: PostAccountRequestBodyCapabilities'EpsPayments' -> String
$cshow :: PostAccountRequestBodyCapabilities'EpsPayments' -> String
showsPrec :: Int -> PostAccountRequestBodyCapabilities'EpsPayments' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCapabilities'EpsPayments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'EpsPayments'
-> PostAccountRequestBodyCapabilities'EpsPayments' -> Bool
(PostAccountRequestBodyCapabilities'EpsPayments'
 -> PostAccountRequestBodyCapabilities'EpsPayments' -> Bool)
-> (PostAccountRequestBodyCapabilities'EpsPayments'
    -> PostAccountRequestBodyCapabilities'EpsPayments' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'EpsPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'EpsPayments'
-> PostAccountRequestBodyCapabilities'EpsPayments' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'EpsPayments'
-> PostAccountRequestBodyCapabilities'EpsPayments' -> Bool
== :: PostAccountRequestBodyCapabilities'EpsPayments'
-> PostAccountRequestBodyCapabilities'EpsPayments' -> Bool
$c== :: PostAccountRequestBodyCapabilities'EpsPayments'
-> PostAccountRequestBodyCapabilities'EpsPayments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'EpsPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'EpsPayments' -> Value
toJSON PostAccountRequestBodyCapabilities'EpsPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'EpsPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'EpsPayments'Requested PostAccountRequestBodyCapabilities'EpsPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'EpsPayments' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'EpsPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'EpsPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'EpsPayments'Requested PostAccountRequestBodyCapabilities'EpsPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'EpsPayments' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCapabilities'EpsPayments'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'EpsPayments')
-> Value
-> Parser PostAccountRequestBodyCapabilities'EpsPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'EpsPayments'" (\Object
obj -> (Maybe Bool -> PostAccountRequestBodyCapabilities'EpsPayments')
-> Parser
     (Maybe Bool -> PostAccountRequestBodyCapabilities'EpsPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool -> PostAccountRequestBodyCapabilities'EpsPayments'
PostAccountRequestBodyCapabilities'EpsPayments' Parser
  (Maybe Bool -> PostAccountRequestBodyCapabilities'EpsPayments')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'EpsPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'EpsPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'EpsPayments' :: PostAccountRequestBodyCapabilities'EpsPayments'
mkPostAccountRequestBodyCapabilities'EpsPayments' :: PostAccountRequestBodyCapabilities'EpsPayments'
mkPostAccountRequestBodyCapabilities'EpsPayments' = PostAccountRequestBodyCapabilities'EpsPayments' :: Maybe Bool -> PostAccountRequestBodyCapabilities'EpsPayments'
PostAccountRequestBodyCapabilities'EpsPayments' {postAccountRequestBodyCapabilities'EpsPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'EpsPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.fpx_payments@ in the specification.
data PostAccountRequestBodyCapabilities'FpxPayments' = PostAccountRequestBodyCapabilities'FpxPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'FpxPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'FpxPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int -> PostAccountRequestBodyCapabilities'FpxPayments' -> ShowS
[PostAccountRequestBodyCapabilities'FpxPayments'] -> ShowS
PostAccountRequestBodyCapabilities'FpxPayments' -> String
(Int -> PostAccountRequestBodyCapabilities'FpxPayments' -> ShowS)
-> (PostAccountRequestBodyCapabilities'FpxPayments' -> String)
-> ([PostAccountRequestBodyCapabilities'FpxPayments'] -> ShowS)
-> Show PostAccountRequestBodyCapabilities'FpxPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'FpxPayments'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'FpxPayments'] -> ShowS
show :: PostAccountRequestBodyCapabilities'FpxPayments' -> String
$cshow :: PostAccountRequestBodyCapabilities'FpxPayments' -> String
showsPrec :: Int -> PostAccountRequestBodyCapabilities'FpxPayments' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCapabilities'FpxPayments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'FpxPayments'
-> PostAccountRequestBodyCapabilities'FpxPayments' -> Bool
(PostAccountRequestBodyCapabilities'FpxPayments'
 -> PostAccountRequestBodyCapabilities'FpxPayments' -> Bool)
-> (PostAccountRequestBodyCapabilities'FpxPayments'
    -> PostAccountRequestBodyCapabilities'FpxPayments' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'FpxPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'FpxPayments'
-> PostAccountRequestBodyCapabilities'FpxPayments' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'FpxPayments'
-> PostAccountRequestBodyCapabilities'FpxPayments' -> Bool
== :: PostAccountRequestBodyCapabilities'FpxPayments'
-> PostAccountRequestBodyCapabilities'FpxPayments' -> Bool
$c== :: PostAccountRequestBodyCapabilities'FpxPayments'
-> PostAccountRequestBodyCapabilities'FpxPayments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'FpxPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'FpxPayments' -> Value
toJSON PostAccountRequestBodyCapabilities'FpxPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'FpxPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'FpxPayments'Requested PostAccountRequestBodyCapabilities'FpxPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'FpxPayments' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'FpxPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'FpxPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'FpxPayments'Requested PostAccountRequestBodyCapabilities'FpxPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'FpxPayments' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCapabilities'FpxPayments'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'FpxPayments')
-> Value
-> Parser PostAccountRequestBodyCapabilities'FpxPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'FpxPayments'" (\Object
obj -> (Maybe Bool -> PostAccountRequestBodyCapabilities'FpxPayments')
-> Parser
     (Maybe Bool -> PostAccountRequestBodyCapabilities'FpxPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool -> PostAccountRequestBodyCapabilities'FpxPayments'
PostAccountRequestBodyCapabilities'FpxPayments' Parser
  (Maybe Bool -> PostAccountRequestBodyCapabilities'FpxPayments')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'FpxPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'FpxPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'FpxPayments' :: PostAccountRequestBodyCapabilities'FpxPayments'
mkPostAccountRequestBodyCapabilities'FpxPayments' :: PostAccountRequestBodyCapabilities'FpxPayments'
mkPostAccountRequestBodyCapabilities'FpxPayments' = PostAccountRequestBodyCapabilities'FpxPayments' :: Maybe Bool -> PostAccountRequestBodyCapabilities'FpxPayments'
PostAccountRequestBodyCapabilities'FpxPayments' {postAccountRequestBodyCapabilities'FpxPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'FpxPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.giropay_payments@ in the specification.
data PostAccountRequestBodyCapabilities'GiropayPayments' = PostAccountRequestBodyCapabilities'GiropayPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'GiropayPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'GiropayPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int -> PostAccountRequestBodyCapabilities'GiropayPayments' -> ShowS
[PostAccountRequestBodyCapabilities'GiropayPayments'] -> ShowS
PostAccountRequestBodyCapabilities'GiropayPayments' -> String
(Int
 -> PostAccountRequestBodyCapabilities'GiropayPayments' -> ShowS)
-> (PostAccountRequestBodyCapabilities'GiropayPayments' -> String)
-> ([PostAccountRequestBodyCapabilities'GiropayPayments'] -> ShowS)
-> Show PostAccountRequestBodyCapabilities'GiropayPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'GiropayPayments'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'GiropayPayments'] -> ShowS
show :: PostAccountRequestBodyCapabilities'GiropayPayments' -> String
$cshow :: PostAccountRequestBodyCapabilities'GiropayPayments' -> String
showsPrec :: Int -> PostAccountRequestBodyCapabilities'GiropayPayments' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCapabilities'GiropayPayments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'GiropayPayments'
-> PostAccountRequestBodyCapabilities'GiropayPayments' -> Bool
(PostAccountRequestBodyCapabilities'GiropayPayments'
 -> PostAccountRequestBodyCapabilities'GiropayPayments' -> Bool)
-> (PostAccountRequestBodyCapabilities'GiropayPayments'
    -> PostAccountRequestBodyCapabilities'GiropayPayments' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'GiropayPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'GiropayPayments'
-> PostAccountRequestBodyCapabilities'GiropayPayments' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'GiropayPayments'
-> PostAccountRequestBodyCapabilities'GiropayPayments' -> Bool
== :: PostAccountRequestBodyCapabilities'GiropayPayments'
-> PostAccountRequestBodyCapabilities'GiropayPayments' -> Bool
$c== :: PostAccountRequestBodyCapabilities'GiropayPayments'
-> PostAccountRequestBodyCapabilities'GiropayPayments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'GiropayPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'GiropayPayments' -> Value
toJSON PostAccountRequestBodyCapabilities'GiropayPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'GiropayPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'GiropayPayments'Requested PostAccountRequestBodyCapabilities'GiropayPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'GiropayPayments' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'GiropayPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'GiropayPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'GiropayPayments'Requested PostAccountRequestBodyCapabilities'GiropayPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'GiropayPayments' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCapabilities'GiropayPayments'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'GiropayPayments')
-> Value
-> Parser PostAccountRequestBodyCapabilities'GiropayPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'GiropayPayments'" (\Object
obj -> (Maybe Bool -> PostAccountRequestBodyCapabilities'GiropayPayments')
-> Parser
     (Maybe Bool -> PostAccountRequestBodyCapabilities'GiropayPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool -> PostAccountRequestBodyCapabilities'GiropayPayments'
PostAccountRequestBodyCapabilities'GiropayPayments' Parser
  (Maybe Bool -> PostAccountRequestBodyCapabilities'GiropayPayments')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'GiropayPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'GiropayPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'GiropayPayments' :: PostAccountRequestBodyCapabilities'GiropayPayments'
mkPostAccountRequestBodyCapabilities'GiropayPayments' :: PostAccountRequestBodyCapabilities'GiropayPayments'
mkPostAccountRequestBodyCapabilities'GiropayPayments' = PostAccountRequestBodyCapabilities'GiropayPayments' :: Maybe Bool -> PostAccountRequestBodyCapabilities'GiropayPayments'
PostAccountRequestBodyCapabilities'GiropayPayments' {postAccountRequestBodyCapabilities'GiropayPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'GiropayPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.grabpay_payments@ in the specification.
data PostAccountRequestBodyCapabilities'GrabpayPayments' = PostAccountRequestBodyCapabilities'GrabpayPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'GrabpayPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'GrabpayPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int -> PostAccountRequestBodyCapabilities'GrabpayPayments' -> ShowS
[PostAccountRequestBodyCapabilities'GrabpayPayments'] -> ShowS
PostAccountRequestBodyCapabilities'GrabpayPayments' -> String
(Int
 -> PostAccountRequestBodyCapabilities'GrabpayPayments' -> ShowS)
-> (PostAccountRequestBodyCapabilities'GrabpayPayments' -> String)
-> ([PostAccountRequestBodyCapabilities'GrabpayPayments'] -> ShowS)
-> Show PostAccountRequestBodyCapabilities'GrabpayPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'GrabpayPayments'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'GrabpayPayments'] -> ShowS
show :: PostAccountRequestBodyCapabilities'GrabpayPayments' -> String
$cshow :: PostAccountRequestBodyCapabilities'GrabpayPayments' -> String
showsPrec :: Int -> PostAccountRequestBodyCapabilities'GrabpayPayments' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCapabilities'GrabpayPayments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'GrabpayPayments'
-> PostAccountRequestBodyCapabilities'GrabpayPayments' -> Bool
(PostAccountRequestBodyCapabilities'GrabpayPayments'
 -> PostAccountRequestBodyCapabilities'GrabpayPayments' -> Bool)
-> (PostAccountRequestBodyCapabilities'GrabpayPayments'
    -> PostAccountRequestBodyCapabilities'GrabpayPayments' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'GrabpayPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'GrabpayPayments'
-> PostAccountRequestBodyCapabilities'GrabpayPayments' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'GrabpayPayments'
-> PostAccountRequestBodyCapabilities'GrabpayPayments' -> Bool
== :: PostAccountRequestBodyCapabilities'GrabpayPayments'
-> PostAccountRequestBodyCapabilities'GrabpayPayments' -> Bool
$c== :: PostAccountRequestBodyCapabilities'GrabpayPayments'
-> PostAccountRequestBodyCapabilities'GrabpayPayments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'GrabpayPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'GrabpayPayments' -> Value
toJSON PostAccountRequestBodyCapabilities'GrabpayPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'GrabpayPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'GrabpayPayments'Requested PostAccountRequestBodyCapabilities'GrabpayPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'GrabpayPayments' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'GrabpayPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'GrabpayPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'GrabpayPayments'Requested PostAccountRequestBodyCapabilities'GrabpayPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'GrabpayPayments' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCapabilities'GrabpayPayments'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'GrabpayPayments')
-> Value
-> Parser PostAccountRequestBodyCapabilities'GrabpayPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'GrabpayPayments'" (\Object
obj -> (Maybe Bool -> PostAccountRequestBodyCapabilities'GrabpayPayments')
-> Parser
     (Maybe Bool -> PostAccountRequestBodyCapabilities'GrabpayPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool -> PostAccountRequestBodyCapabilities'GrabpayPayments'
PostAccountRequestBodyCapabilities'GrabpayPayments' Parser
  (Maybe Bool -> PostAccountRequestBodyCapabilities'GrabpayPayments')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'GrabpayPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'GrabpayPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'GrabpayPayments' :: PostAccountRequestBodyCapabilities'GrabpayPayments'
mkPostAccountRequestBodyCapabilities'GrabpayPayments' :: PostAccountRequestBodyCapabilities'GrabpayPayments'
mkPostAccountRequestBodyCapabilities'GrabpayPayments' = PostAccountRequestBodyCapabilities'GrabpayPayments' :: Maybe Bool -> PostAccountRequestBodyCapabilities'GrabpayPayments'
PostAccountRequestBodyCapabilities'GrabpayPayments' {postAccountRequestBodyCapabilities'GrabpayPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'GrabpayPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.ideal_payments@ in the specification.
data PostAccountRequestBodyCapabilities'IdealPayments' = PostAccountRequestBodyCapabilities'IdealPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'IdealPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'IdealPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int -> PostAccountRequestBodyCapabilities'IdealPayments' -> ShowS
[PostAccountRequestBodyCapabilities'IdealPayments'] -> ShowS
PostAccountRequestBodyCapabilities'IdealPayments' -> String
(Int -> PostAccountRequestBodyCapabilities'IdealPayments' -> ShowS)
-> (PostAccountRequestBodyCapabilities'IdealPayments' -> String)
-> ([PostAccountRequestBodyCapabilities'IdealPayments'] -> ShowS)
-> Show PostAccountRequestBodyCapabilities'IdealPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'IdealPayments'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'IdealPayments'] -> ShowS
show :: PostAccountRequestBodyCapabilities'IdealPayments' -> String
$cshow :: PostAccountRequestBodyCapabilities'IdealPayments' -> String
showsPrec :: Int -> PostAccountRequestBodyCapabilities'IdealPayments' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCapabilities'IdealPayments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'IdealPayments'
-> PostAccountRequestBodyCapabilities'IdealPayments' -> Bool
(PostAccountRequestBodyCapabilities'IdealPayments'
 -> PostAccountRequestBodyCapabilities'IdealPayments' -> Bool)
-> (PostAccountRequestBodyCapabilities'IdealPayments'
    -> PostAccountRequestBodyCapabilities'IdealPayments' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'IdealPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'IdealPayments'
-> PostAccountRequestBodyCapabilities'IdealPayments' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'IdealPayments'
-> PostAccountRequestBodyCapabilities'IdealPayments' -> Bool
== :: PostAccountRequestBodyCapabilities'IdealPayments'
-> PostAccountRequestBodyCapabilities'IdealPayments' -> Bool
$c== :: PostAccountRequestBodyCapabilities'IdealPayments'
-> PostAccountRequestBodyCapabilities'IdealPayments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'IdealPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'IdealPayments' -> Value
toJSON PostAccountRequestBodyCapabilities'IdealPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'IdealPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'IdealPayments'Requested PostAccountRequestBodyCapabilities'IdealPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'IdealPayments' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'IdealPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'IdealPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'IdealPayments'Requested PostAccountRequestBodyCapabilities'IdealPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'IdealPayments' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCapabilities'IdealPayments'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'IdealPayments')
-> Value
-> Parser PostAccountRequestBodyCapabilities'IdealPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'IdealPayments'" (\Object
obj -> (Maybe Bool -> PostAccountRequestBodyCapabilities'IdealPayments')
-> Parser
     (Maybe Bool -> PostAccountRequestBodyCapabilities'IdealPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool -> PostAccountRequestBodyCapabilities'IdealPayments'
PostAccountRequestBodyCapabilities'IdealPayments' Parser
  (Maybe Bool -> PostAccountRequestBodyCapabilities'IdealPayments')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'IdealPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'IdealPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'IdealPayments' :: PostAccountRequestBodyCapabilities'IdealPayments'
mkPostAccountRequestBodyCapabilities'IdealPayments' :: PostAccountRequestBodyCapabilities'IdealPayments'
mkPostAccountRequestBodyCapabilities'IdealPayments' = PostAccountRequestBodyCapabilities'IdealPayments' :: Maybe Bool -> PostAccountRequestBodyCapabilities'IdealPayments'
PostAccountRequestBodyCapabilities'IdealPayments' {postAccountRequestBodyCapabilities'IdealPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'IdealPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.jcb_payments@ in the specification.
data PostAccountRequestBodyCapabilities'JcbPayments' = PostAccountRequestBodyCapabilities'JcbPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'JcbPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'JcbPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int -> PostAccountRequestBodyCapabilities'JcbPayments' -> ShowS
[PostAccountRequestBodyCapabilities'JcbPayments'] -> ShowS
PostAccountRequestBodyCapabilities'JcbPayments' -> String
(Int -> PostAccountRequestBodyCapabilities'JcbPayments' -> ShowS)
-> (PostAccountRequestBodyCapabilities'JcbPayments' -> String)
-> ([PostAccountRequestBodyCapabilities'JcbPayments'] -> ShowS)
-> Show PostAccountRequestBodyCapabilities'JcbPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'JcbPayments'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'JcbPayments'] -> ShowS
show :: PostAccountRequestBodyCapabilities'JcbPayments' -> String
$cshow :: PostAccountRequestBodyCapabilities'JcbPayments' -> String
showsPrec :: Int -> PostAccountRequestBodyCapabilities'JcbPayments' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCapabilities'JcbPayments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'JcbPayments'
-> PostAccountRequestBodyCapabilities'JcbPayments' -> Bool
(PostAccountRequestBodyCapabilities'JcbPayments'
 -> PostAccountRequestBodyCapabilities'JcbPayments' -> Bool)
-> (PostAccountRequestBodyCapabilities'JcbPayments'
    -> PostAccountRequestBodyCapabilities'JcbPayments' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'JcbPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'JcbPayments'
-> PostAccountRequestBodyCapabilities'JcbPayments' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'JcbPayments'
-> PostAccountRequestBodyCapabilities'JcbPayments' -> Bool
== :: PostAccountRequestBodyCapabilities'JcbPayments'
-> PostAccountRequestBodyCapabilities'JcbPayments' -> Bool
$c== :: PostAccountRequestBodyCapabilities'JcbPayments'
-> PostAccountRequestBodyCapabilities'JcbPayments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'JcbPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'JcbPayments' -> Value
toJSON PostAccountRequestBodyCapabilities'JcbPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'JcbPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'JcbPayments'Requested PostAccountRequestBodyCapabilities'JcbPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'JcbPayments' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'JcbPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'JcbPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'JcbPayments'Requested PostAccountRequestBodyCapabilities'JcbPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'JcbPayments' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCapabilities'JcbPayments'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'JcbPayments')
-> Value
-> Parser PostAccountRequestBodyCapabilities'JcbPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'JcbPayments'" (\Object
obj -> (Maybe Bool -> PostAccountRequestBodyCapabilities'JcbPayments')
-> Parser
     (Maybe Bool -> PostAccountRequestBodyCapabilities'JcbPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool -> PostAccountRequestBodyCapabilities'JcbPayments'
PostAccountRequestBodyCapabilities'JcbPayments' Parser
  (Maybe Bool -> PostAccountRequestBodyCapabilities'JcbPayments')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'JcbPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'JcbPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'JcbPayments' :: PostAccountRequestBodyCapabilities'JcbPayments'
mkPostAccountRequestBodyCapabilities'JcbPayments' :: PostAccountRequestBodyCapabilities'JcbPayments'
mkPostAccountRequestBodyCapabilities'JcbPayments' = PostAccountRequestBodyCapabilities'JcbPayments' :: Maybe Bool -> PostAccountRequestBodyCapabilities'JcbPayments'
PostAccountRequestBodyCapabilities'JcbPayments' {postAccountRequestBodyCapabilities'JcbPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'JcbPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.legacy_payments@ in the specification.
data PostAccountRequestBodyCapabilities'LegacyPayments' = PostAccountRequestBodyCapabilities'LegacyPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'LegacyPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'LegacyPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int -> PostAccountRequestBodyCapabilities'LegacyPayments' -> ShowS
[PostAccountRequestBodyCapabilities'LegacyPayments'] -> ShowS
PostAccountRequestBodyCapabilities'LegacyPayments' -> String
(Int
 -> PostAccountRequestBodyCapabilities'LegacyPayments' -> ShowS)
-> (PostAccountRequestBodyCapabilities'LegacyPayments' -> String)
-> ([PostAccountRequestBodyCapabilities'LegacyPayments'] -> ShowS)
-> Show PostAccountRequestBodyCapabilities'LegacyPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'LegacyPayments'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'LegacyPayments'] -> ShowS
show :: PostAccountRequestBodyCapabilities'LegacyPayments' -> String
$cshow :: PostAccountRequestBodyCapabilities'LegacyPayments' -> String
showsPrec :: Int -> PostAccountRequestBodyCapabilities'LegacyPayments' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCapabilities'LegacyPayments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'LegacyPayments'
-> PostAccountRequestBodyCapabilities'LegacyPayments' -> Bool
(PostAccountRequestBodyCapabilities'LegacyPayments'
 -> PostAccountRequestBodyCapabilities'LegacyPayments' -> Bool)
-> (PostAccountRequestBodyCapabilities'LegacyPayments'
    -> PostAccountRequestBodyCapabilities'LegacyPayments' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'LegacyPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'LegacyPayments'
-> PostAccountRequestBodyCapabilities'LegacyPayments' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'LegacyPayments'
-> PostAccountRequestBodyCapabilities'LegacyPayments' -> Bool
== :: PostAccountRequestBodyCapabilities'LegacyPayments'
-> PostAccountRequestBodyCapabilities'LegacyPayments' -> Bool
$c== :: PostAccountRequestBodyCapabilities'LegacyPayments'
-> PostAccountRequestBodyCapabilities'LegacyPayments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'LegacyPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'LegacyPayments' -> Value
toJSON PostAccountRequestBodyCapabilities'LegacyPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'LegacyPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'LegacyPayments'Requested PostAccountRequestBodyCapabilities'LegacyPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'LegacyPayments' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'LegacyPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'LegacyPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'LegacyPayments'Requested PostAccountRequestBodyCapabilities'LegacyPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'LegacyPayments' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCapabilities'LegacyPayments'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'LegacyPayments')
-> Value
-> Parser PostAccountRequestBodyCapabilities'LegacyPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'LegacyPayments'" (\Object
obj -> (Maybe Bool -> PostAccountRequestBodyCapabilities'LegacyPayments')
-> Parser
     (Maybe Bool -> PostAccountRequestBodyCapabilities'LegacyPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool -> PostAccountRequestBodyCapabilities'LegacyPayments'
PostAccountRequestBodyCapabilities'LegacyPayments' Parser
  (Maybe Bool -> PostAccountRequestBodyCapabilities'LegacyPayments')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'LegacyPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'LegacyPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'LegacyPayments' :: PostAccountRequestBodyCapabilities'LegacyPayments'
mkPostAccountRequestBodyCapabilities'LegacyPayments' :: PostAccountRequestBodyCapabilities'LegacyPayments'
mkPostAccountRequestBodyCapabilities'LegacyPayments' = PostAccountRequestBodyCapabilities'LegacyPayments' :: Maybe Bool -> PostAccountRequestBodyCapabilities'LegacyPayments'
PostAccountRequestBodyCapabilities'LegacyPayments' {postAccountRequestBodyCapabilities'LegacyPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'LegacyPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.oxxo_payments@ in the specification.
data PostAccountRequestBodyCapabilities'OxxoPayments' = PostAccountRequestBodyCapabilities'OxxoPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'OxxoPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'OxxoPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int -> PostAccountRequestBodyCapabilities'OxxoPayments' -> ShowS
[PostAccountRequestBodyCapabilities'OxxoPayments'] -> ShowS
PostAccountRequestBodyCapabilities'OxxoPayments' -> String
(Int -> PostAccountRequestBodyCapabilities'OxxoPayments' -> ShowS)
-> (PostAccountRequestBodyCapabilities'OxxoPayments' -> String)
-> ([PostAccountRequestBodyCapabilities'OxxoPayments'] -> ShowS)
-> Show PostAccountRequestBodyCapabilities'OxxoPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'OxxoPayments'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'OxxoPayments'] -> ShowS
show :: PostAccountRequestBodyCapabilities'OxxoPayments' -> String
$cshow :: PostAccountRequestBodyCapabilities'OxxoPayments' -> String
showsPrec :: Int -> PostAccountRequestBodyCapabilities'OxxoPayments' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCapabilities'OxxoPayments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'OxxoPayments'
-> PostAccountRequestBodyCapabilities'OxxoPayments' -> Bool
(PostAccountRequestBodyCapabilities'OxxoPayments'
 -> PostAccountRequestBodyCapabilities'OxxoPayments' -> Bool)
-> (PostAccountRequestBodyCapabilities'OxxoPayments'
    -> PostAccountRequestBodyCapabilities'OxxoPayments' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'OxxoPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'OxxoPayments'
-> PostAccountRequestBodyCapabilities'OxxoPayments' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'OxxoPayments'
-> PostAccountRequestBodyCapabilities'OxxoPayments' -> Bool
== :: PostAccountRequestBodyCapabilities'OxxoPayments'
-> PostAccountRequestBodyCapabilities'OxxoPayments' -> Bool
$c== :: PostAccountRequestBodyCapabilities'OxxoPayments'
-> PostAccountRequestBodyCapabilities'OxxoPayments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'OxxoPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'OxxoPayments' -> Value
toJSON PostAccountRequestBodyCapabilities'OxxoPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'OxxoPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'OxxoPayments'Requested PostAccountRequestBodyCapabilities'OxxoPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'OxxoPayments' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'OxxoPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'OxxoPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'OxxoPayments'Requested PostAccountRequestBodyCapabilities'OxxoPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'OxxoPayments' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCapabilities'OxxoPayments'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'OxxoPayments')
-> Value
-> Parser PostAccountRequestBodyCapabilities'OxxoPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'OxxoPayments'" (\Object
obj -> (Maybe Bool -> PostAccountRequestBodyCapabilities'OxxoPayments')
-> Parser
     (Maybe Bool -> PostAccountRequestBodyCapabilities'OxxoPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool -> PostAccountRequestBodyCapabilities'OxxoPayments'
PostAccountRequestBodyCapabilities'OxxoPayments' Parser
  (Maybe Bool -> PostAccountRequestBodyCapabilities'OxxoPayments')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'OxxoPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'OxxoPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'OxxoPayments' :: PostAccountRequestBodyCapabilities'OxxoPayments'
mkPostAccountRequestBodyCapabilities'OxxoPayments' :: PostAccountRequestBodyCapabilities'OxxoPayments'
mkPostAccountRequestBodyCapabilities'OxxoPayments' = PostAccountRequestBodyCapabilities'OxxoPayments' :: Maybe Bool -> PostAccountRequestBodyCapabilities'OxxoPayments'
PostAccountRequestBodyCapabilities'OxxoPayments' {postAccountRequestBodyCapabilities'OxxoPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'OxxoPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.p24_payments@ in the specification.
data PostAccountRequestBodyCapabilities'P24Payments' = PostAccountRequestBodyCapabilities'P24Payments'
  { -- | requested
    PostAccountRequestBodyCapabilities'P24Payments' -> Maybe Bool
postAccountRequestBodyCapabilities'P24Payments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int -> PostAccountRequestBodyCapabilities'P24Payments' -> ShowS
[PostAccountRequestBodyCapabilities'P24Payments'] -> ShowS
PostAccountRequestBodyCapabilities'P24Payments' -> String
(Int -> PostAccountRequestBodyCapabilities'P24Payments' -> ShowS)
-> (PostAccountRequestBodyCapabilities'P24Payments' -> String)
-> ([PostAccountRequestBodyCapabilities'P24Payments'] -> ShowS)
-> Show PostAccountRequestBodyCapabilities'P24Payments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'P24Payments'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'P24Payments'] -> ShowS
show :: PostAccountRequestBodyCapabilities'P24Payments' -> String
$cshow :: PostAccountRequestBodyCapabilities'P24Payments' -> String
showsPrec :: Int -> PostAccountRequestBodyCapabilities'P24Payments' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCapabilities'P24Payments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'P24Payments'
-> PostAccountRequestBodyCapabilities'P24Payments' -> Bool
(PostAccountRequestBodyCapabilities'P24Payments'
 -> PostAccountRequestBodyCapabilities'P24Payments' -> Bool)
-> (PostAccountRequestBodyCapabilities'P24Payments'
    -> PostAccountRequestBodyCapabilities'P24Payments' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'P24Payments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'P24Payments'
-> PostAccountRequestBodyCapabilities'P24Payments' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'P24Payments'
-> PostAccountRequestBodyCapabilities'P24Payments' -> Bool
== :: PostAccountRequestBodyCapabilities'P24Payments'
-> PostAccountRequestBodyCapabilities'P24Payments' -> Bool
$c== :: PostAccountRequestBodyCapabilities'P24Payments'
-> PostAccountRequestBodyCapabilities'P24Payments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'P24Payments' where
  toJSON :: PostAccountRequestBodyCapabilities'P24Payments' -> Value
toJSON PostAccountRequestBodyCapabilities'P24Payments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'P24Payments' -> Maybe Bool
postAccountRequestBodyCapabilities'P24Payments'Requested PostAccountRequestBodyCapabilities'P24Payments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'P24Payments' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'P24Payments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'P24Payments' -> Maybe Bool
postAccountRequestBodyCapabilities'P24Payments'Requested PostAccountRequestBodyCapabilities'P24Payments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'P24Payments' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCapabilities'P24Payments'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'P24Payments')
-> Value
-> Parser PostAccountRequestBodyCapabilities'P24Payments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'P24Payments'" (\Object
obj -> (Maybe Bool -> PostAccountRequestBodyCapabilities'P24Payments')
-> Parser
     (Maybe Bool -> PostAccountRequestBodyCapabilities'P24Payments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool -> PostAccountRequestBodyCapabilities'P24Payments'
PostAccountRequestBodyCapabilities'P24Payments' Parser
  (Maybe Bool -> PostAccountRequestBodyCapabilities'P24Payments')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'P24Payments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'P24Payments'' with all required fields.
mkPostAccountRequestBodyCapabilities'P24Payments' :: PostAccountRequestBodyCapabilities'P24Payments'
mkPostAccountRequestBodyCapabilities'P24Payments' :: PostAccountRequestBodyCapabilities'P24Payments'
mkPostAccountRequestBodyCapabilities'P24Payments' = PostAccountRequestBodyCapabilities'P24Payments' :: Maybe Bool -> PostAccountRequestBodyCapabilities'P24Payments'
PostAccountRequestBodyCapabilities'P24Payments' {postAccountRequestBodyCapabilities'P24Payments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'P24Payments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.sepa_debit_payments@ in the specification.
data PostAccountRequestBodyCapabilities'SepaDebitPayments' = PostAccountRequestBodyCapabilities'SepaDebitPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'SepaDebitPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'SepaDebitPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int
-> PostAccountRequestBodyCapabilities'SepaDebitPayments' -> ShowS
[PostAccountRequestBodyCapabilities'SepaDebitPayments'] -> ShowS
PostAccountRequestBodyCapabilities'SepaDebitPayments' -> String
(Int
 -> PostAccountRequestBodyCapabilities'SepaDebitPayments' -> ShowS)
-> (PostAccountRequestBodyCapabilities'SepaDebitPayments'
    -> String)
-> ([PostAccountRequestBodyCapabilities'SepaDebitPayments']
    -> ShowS)
-> Show PostAccountRequestBodyCapabilities'SepaDebitPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'SepaDebitPayments'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'SepaDebitPayments'] -> ShowS
show :: PostAccountRequestBodyCapabilities'SepaDebitPayments' -> String
$cshow :: PostAccountRequestBodyCapabilities'SepaDebitPayments' -> String
showsPrec :: Int
-> PostAccountRequestBodyCapabilities'SepaDebitPayments' -> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyCapabilities'SepaDebitPayments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'SepaDebitPayments'
-> PostAccountRequestBodyCapabilities'SepaDebitPayments' -> Bool
(PostAccountRequestBodyCapabilities'SepaDebitPayments'
 -> PostAccountRequestBodyCapabilities'SepaDebitPayments' -> Bool)
-> (PostAccountRequestBodyCapabilities'SepaDebitPayments'
    -> PostAccountRequestBodyCapabilities'SepaDebitPayments' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'SepaDebitPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'SepaDebitPayments'
-> PostAccountRequestBodyCapabilities'SepaDebitPayments' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'SepaDebitPayments'
-> PostAccountRequestBodyCapabilities'SepaDebitPayments' -> Bool
== :: PostAccountRequestBodyCapabilities'SepaDebitPayments'
-> PostAccountRequestBodyCapabilities'SepaDebitPayments' -> Bool
$c== :: PostAccountRequestBodyCapabilities'SepaDebitPayments'
-> PostAccountRequestBodyCapabilities'SepaDebitPayments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'SepaDebitPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'SepaDebitPayments' -> Value
toJSON PostAccountRequestBodyCapabilities'SepaDebitPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'SepaDebitPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'SepaDebitPayments'Requested PostAccountRequestBodyCapabilities'SepaDebitPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'SepaDebitPayments' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'SepaDebitPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'SepaDebitPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'SepaDebitPayments'Requested PostAccountRequestBodyCapabilities'SepaDebitPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'SepaDebitPayments' where
  parseJSON :: Value
-> Parser PostAccountRequestBodyCapabilities'SepaDebitPayments'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'SepaDebitPayments')
-> Value
-> Parser PostAccountRequestBodyCapabilities'SepaDebitPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'SepaDebitPayments'" (\Object
obj -> (Maybe Bool
 -> PostAccountRequestBodyCapabilities'SepaDebitPayments')
-> Parser
     (Maybe Bool
      -> PostAccountRequestBodyCapabilities'SepaDebitPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool -> PostAccountRequestBodyCapabilities'SepaDebitPayments'
PostAccountRequestBodyCapabilities'SepaDebitPayments' Parser
  (Maybe Bool
   -> PostAccountRequestBodyCapabilities'SepaDebitPayments')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'SepaDebitPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'SepaDebitPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'SepaDebitPayments' :: PostAccountRequestBodyCapabilities'SepaDebitPayments'
mkPostAccountRequestBodyCapabilities'SepaDebitPayments' :: PostAccountRequestBodyCapabilities'SepaDebitPayments'
mkPostAccountRequestBodyCapabilities'SepaDebitPayments' = PostAccountRequestBodyCapabilities'SepaDebitPayments' :: Maybe Bool -> PostAccountRequestBodyCapabilities'SepaDebitPayments'
PostAccountRequestBodyCapabilities'SepaDebitPayments' {postAccountRequestBodyCapabilities'SepaDebitPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'SepaDebitPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.sofort_payments@ in the specification.
data PostAccountRequestBodyCapabilities'SofortPayments' = PostAccountRequestBodyCapabilities'SofortPayments'
  { -- | requested
    PostAccountRequestBodyCapabilities'SofortPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'SofortPayments'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int -> PostAccountRequestBodyCapabilities'SofortPayments' -> ShowS
[PostAccountRequestBodyCapabilities'SofortPayments'] -> ShowS
PostAccountRequestBodyCapabilities'SofortPayments' -> String
(Int
 -> PostAccountRequestBodyCapabilities'SofortPayments' -> ShowS)
-> (PostAccountRequestBodyCapabilities'SofortPayments' -> String)
-> ([PostAccountRequestBodyCapabilities'SofortPayments'] -> ShowS)
-> Show PostAccountRequestBodyCapabilities'SofortPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'SofortPayments'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'SofortPayments'] -> ShowS
show :: PostAccountRequestBodyCapabilities'SofortPayments' -> String
$cshow :: PostAccountRequestBodyCapabilities'SofortPayments' -> String
showsPrec :: Int -> PostAccountRequestBodyCapabilities'SofortPayments' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCapabilities'SofortPayments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'SofortPayments'
-> PostAccountRequestBodyCapabilities'SofortPayments' -> Bool
(PostAccountRequestBodyCapabilities'SofortPayments'
 -> PostAccountRequestBodyCapabilities'SofortPayments' -> Bool)
-> (PostAccountRequestBodyCapabilities'SofortPayments'
    -> PostAccountRequestBodyCapabilities'SofortPayments' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'SofortPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'SofortPayments'
-> PostAccountRequestBodyCapabilities'SofortPayments' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'SofortPayments'
-> PostAccountRequestBodyCapabilities'SofortPayments' -> Bool
== :: PostAccountRequestBodyCapabilities'SofortPayments'
-> PostAccountRequestBodyCapabilities'SofortPayments' -> Bool
$c== :: PostAccountRequestBodyCapabilities'SofortPayments'
-> PostAccountRequestBodyCapabilities'SofortPayments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'SofortPayments' where
  toJSON :: PostAccountRequestBodyCapabilities'SofortPayments' -> Value
toJSON PostAccountRequestBodyCapabilities'SofortPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'SofortPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'SofortPayments'Requested PostAccountRequestBodyCapabilities'SofortPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'SofortPayments' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'SofortPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'SofortPayments' -> Maybe Bool
postAccountRequestBodyCapabilities'SofortPayments'Requested PostAccountRequestBodyCapabilities'SofortPayments'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'SofortPayments' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCapabilities'SofortPayments'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'SofortPayments')
-> Value
-> Parser PostAccountRequestBodyCapabilities'SofortPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'SofortPayments'" (\Object
obj -> (Maybe Bool -> PostAccountRequestBodyCapabilities'SofortPayments')
-> Parser
     (Maybe Bool -> PostAccountRequestBodyCapabilities'SofortPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool -> PostAccountRequestBodyCapabilities'SofortPayments'
PostAccountRequestBodyCapabilities'SofortPayments' Parser
  (Maybe Bool -> PostAccountRequestBodyCapabilities'SofortPayments')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'SofortPayments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'SofortPayments'' with all required fields.
mkPostAccountRequestBodyCapabilities'SofortPayments' :: PostAccountRequestBodyCapabilities'SofortPayments'
mkPostAccountRequestBodyCapabilities'SofortPayments' :: PostAccountRequestBodyCapabilities'SofortPayments'
mkPostAccountRequestBodyCapabilities'SofortPayments' = PostAccountRequestBodyCapabilities'SofortPayments' :: Maybe Bool -> PostAccountRequestBodyCapabilities'SofortPayments'
PostAccountRequestBodyCapabilities'SofortPayments' {postAccountRequestBodyCapabilities'SofortPayments'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'SofortPayments'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.tax_reporting_us_1099_k@ in the specification.
data PostAccountRequestBodyCapabilities'TaxReportingUs_1099K' = PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
  { -- | requested
    PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
-> Maybe Bool
postAccountRequestBodyCapabilities'TaxReportingUs_1099K'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
-> ShowS
[PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'] -> ShowS
PostAccountRequestBodyCapabilities'TaxReportingUs_1099K' -> String
(Int
 -> PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
 -> ShowS)
-> (PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
    -> String)
-> ([PostAccountRequestBodyCapabilities'TaxReportingUs_1099K']
    -> ShowS)
-> Show PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'] -> ShowS
show :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099K' -> String
$cshow :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099K' -> String
showsPrec :: Int
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
-> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
-> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099K' -> Bool
(PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
 -> PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
 -> Bool)
-> (PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
    -> PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
    -> Bool)
-> Eq PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099K' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099K' -> Bool
== :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099K' -> Bool
$c== :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099K' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'TaxReportingUs_1099K' where
  toJSON :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099K' -> Value
toJSON PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
-> Maybe Bool
postAccountRequestBodyCapabilities'TaxReportingUs_1099K'Requested PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
-> Encoding
toEncoding PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
-> Maybe Bool
postAccountRequestBodyCapabilities'TaxReportingUs_1099K'Requested PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'TaxReportingUs_1099K' where
  parseJSON :: Value
-> Parser PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCapabilities'TaxReportingUs_1099K')
-> Value
-> Parser PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'" (\Object
obj -> (Maybe Bool
 -> PostAccountRequestBodyCapabilities'TaxReportingUs_1099K')
-> Parser
     (Maybe Bool
      -> PostAccountRequestBodyCapabilities'TaxReportingUs_1099K')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
PostAccountRequestBodyCapabilities'TaxReportingUs_1099K' Parser
  (Maybe Bool
   -> PostAccountRequestBodyCapabilities'TaxReportingUs_1099K')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'' with all required fields.
mkPostAccountRequestBodyCapabilities'TaxReportingUs_1099K' :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
mkPostAccountRequestBodyCapabilities'TaxReportingUs_1099K' :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
mkPostAccountRequestBodyCapabilities'TaxReportingUs_1099K' = PostAccountRequestBodyCapabilities'TaxReportingUs_1099K' :: Maybe Bool
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099K'
PostAccountRequestBodyCapabilities'TaxReportingUs_1099K' {postAccountRequestBodyCapabilities'TaxReportingUs_1099K'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'TaxReportingUs_1099K'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.tax_reporting_us_1099_misc@ in the specification.
data PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc' = PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
  { -- | requested
    PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> Maybe Bool
postAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> ShowS
[PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc']
-> ShowS
PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> String
(Int
 -> PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
 -> ShowS)
-> (PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
    -> String)
-> ([PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc']
    -> ShowS)
-> Show PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc']
-> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc']
-> ShowS
show :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> String
$cshow :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> String
showsPrec :: Int
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> Bool
(PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
 -> PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
 -> Bool)
-> (PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
    -> PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
    -> Bool)
-> Eq PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> Bool
$c/= :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> Bool
== :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> Bool
$c== :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc' where
  toJSON :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> Value
toJSON PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> Maybe Bool
postAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'Requested PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> Encoding
toEncoding PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
-> Maybe Bool
postAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'Requested PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc' where
  parseJSON :: Value
-> Parser
     PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
parseJSON = String
-> (Object
    -> Parser
         PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc')
-> Value
-> Parser
     PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'" (\Object
obj -> (Maybe Bool
 -> PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc')
-> Parser
     (Maybe Bool
      -> PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc' Parser
  (Maybe Bool
   -> PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc')
-> Parser (Maybe Bool)
-> Parser
     PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'' with all required fields.
mkPostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc' :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
mkPostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc' :: PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
mkPostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc' = PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc' :: Maybe Bool
-> PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'
PostAccountRequestBodyCapabilities'TaxReportingUs_1099Misc' {postAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'TaxReportingUs_1099Misc'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.capabilities.properties.transfers@ in the specification.
data PostAccountRequestBodyCapabilities'Transfers' = PostAccountRequestBodyCapabilities'Transfers'
  { -- | requested
    PostAccountRequestBodyCapabilities'Transfers' -> Maybe Bool
postAccountRequestBodyCapabilities'Transfers'Requested :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int -> PostAccountRequestBodyCapabilities'Transfers' -> ShowS
[PostAccountRequestBodyCapabilities'Transfers'] -> ShowS
PostAccountRequestBodyCapabilities'Transfers' -> String
(Int -> PostAccountRequestBodyCapabilities'Transfers' -> ShowS)
-> (PostAccountRequestBodyCapabilities'Transfers' -> String)
-> ([PostAccountRequestBodyCapabilities'Transfers'] -> ShowS)
-> Show PostAccountRequestBodyCapabilities'Transfers'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCapabilities'Transfers'] -> ShowS
$cshowList :: [PostAccountRequestBodyCapabilities'Transfers'] -> ShowS
show :: PostAccountRequestBodyCapabilities'Transfers' -> String
$cshow :: PostAccountRequestBodyCapabilities'Transfers' -> String
showsPrec :: Int -> PostAccountRequestBodyCapabilities'Transfers' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCapabilities'Transfers' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCapabilities'Transfers'
-> PostAccountRequestBodyCapabilities'Transfers' -> Bool
(PostAccountRequestBodyCapabilities'Transfers'
 -> PostAccountRequestBodyCapabilities'Transfers' -> Bool)
-> (PostAccountRequestBodyCapabilities'Transfers'
    -> PostAccountRequestBodyCapabilities'Transfers' -> Bool)
-> Eq PostAccountRequestBodyCapabilities'Transfers'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCapabilities'Transfers'
-> PostAccountRequestBodyCapabilities'Transfers' -> Bool
$c/= :: PostAccountRequestBodyCapabilities'Transfers'
-> PostAccountRequestBodyCapabilities'Transfers' -> Bool
== :: PostAccountRequestBodyCapabilities'Transfers'
-> PostAccountRequestBodyCapabilities'Transfers' -> Bool
$c== :: PostAccountRequestBodyCapabilities'Transfers'
-> PostAccountRequestBodyCapabilities'Transfers' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCapabilities'Transfers' where
  toJSON :: PostAccountRequestBodyCapabilities'Transfers' -> Value
toJSON PostAccountRequestBodyCapabilities'Transfers'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"requested" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'Transfers' -> Maybe Bool
postAccountRequestBodyCapabilities'Transfers'Requested PostAccountRequestBodyCapabilities'Transfers'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCapabilities'Transfers' -> Encoding
toEncoding PostAccountRequestBodyCapabilities'Transfers'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"requested" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCapabilities'Transfers' -> Maybe Bool
postAccountRequestBodyCapabilities'Transfers'Requested PostAccountRequestBodyCapabilities'Transfers'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCapabilities'Transfers' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCapabilities'Transfers'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodyCapabilities'Transfers')
-> Value
-> Parser PostAccountRequestBodyCapabilities'Transfers'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCapabilities'Transfers'" (\Object
obj -> (Maybe Bool -> PostAccountRequestBodyCapabilities'Transfers')
-> Parser
     (Maybe Bool -> PostAccountRequestBodyCapabilities'Transfers')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool -> PostAccountRequestBodyCapabilities'Transfers'
PostAccountRequestBodyCapabilities'Transfers' Parser
  (Maybe Bool -> PostAccountRequestBodyCapabilities'Transfers')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodyCapabilities'Transfers'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requested"))

-- | Create a new 'PostAccountRequestBodyCapabilities'Transfers'' with all required fields.
mkPostAccountRequestBodyCapabilities'Transfers' :: PostAccountRequestBodyCapabilities'Transfers'
mkPostAccountRequestBodyCapabilities'Transfers' :: PostAccountRequestBodyCapabilities'Transfers'
mkPostAccountRequestBodyCapabilities'Transfers' = PostAccountRequestBodyCapabilities'Transfers' :: Maybe Bool -> PostAccountRequestBodyCapabilities'Transfers'
PostAccountRequestBodyCapabilities'Transfers' {postAccountRequestBodyCapabilities'Transfers'Requested :: Maybe Bool
postAccountRequestBodyCapabilities'Transfers'Requested = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.company@ in the specification.
--
-- Information about the company or business. This field is available for any \`business_type\`.
data PostAccountRequestBodyCompany' = PostAccountRequestBodyCompany'
  { -- | address
    PostAccountRequestBodyCompany'
-> Maybe PostAccountRequestBodyCompany'Address'
postAccountRequestBodyCompany'Address :: (GHC.Maybe.Maybe PostAccountRequestBodyCompany'Address'),
    -- | address_kana
    PostAccountRequestBodyCompany'
-> Maybe PostAccountRequestBodyCompany'AddressKana'
postAccountRequestBodyCompany'AddressKana :: (GHC.Maybe.Maybe PostAccountRequestBodyCompany'AddressKana'),
    -- | address_kanji
    PostAccountRequestBodyCompany'
-> Maybe PostAccountRequestBodyCompany'AddressKanji'
postAccountRequestBodyCompany'AddressKanji :: (GHC.Maybe.Maybe PostAccountRequestBodyCompany'AddressKanji'),
    -- | directors_provided
    PostAccountRequestBodyCompany' -> Maybe Bool
postAccountRequestBodyCompany'DirectorsProvided :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | executives_provided
    PostAccountRequestBodyCompany' -> Maybe Bool
postAccountRequestBodyCompany'ExecutivesProvided :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | name
    --
    -- Constraints:
    --
    -- * Maximum length of 100
    PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | name_kana
    --
    -- Constraints:
    --
    -- * Maximum length of 100
    PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'NameKana :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | name_kanji
    --
    -- Constraints:
    --
    -- * Maximum length of 100
    PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'NameKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | owners_provided
    PostAccountRequestBodyCompany' -> Maybe Bool
postAccountRequestBodyCompany'OwnersProvided :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | phone
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'Phone :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | registration_number
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'RegistrationNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | structure
    PostAccountRequestBodyCompany'
-> Maybe PostAccountRequestBodyCompany'Structure'
postAccountRequestBodyCompany'Structure :: (GHC.Maybe.Maybe PostAccountRequestBodyCompany'Structure'),
    -- | tax_id
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'TaxId :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | tax_id_registrar
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'TaxIdRegistrar :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | vat_id
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'VatId :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | verification
    PostAccountRequestBodyCompany'
-> Maybe PostAccountRequestBodyCompany'Verification'
postAccountRequestBodyCompany'Verification :: (GHC.Maybe.Maybe PostAccountRequestBodyCompany'Verification')
  }
  deriving
    ( Int -> PostAccountRequestBodyCompany' -> ShowS
[PostAccountRequestBodyCompany'] -> ShowS
PostAccountRequestBodyCompany' -> String
(Int -> PostAccountRequestBodyCompany' -> ShowS)
-> (PostAccountRequestBodyCompany' -> String)
-> ([PostAccountRequestBodyCompany'] -> ShowS)
-> Show PostAccountRequestBodyCompany'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCompany'] -> ShowS
$cshowList :: [PostAccountRequestBodyCompany'] -> ShowS
show :: PostAccountRequestBodyCompany' -> String
$cshow :: PostAccountRequestBodyCompany' -> String
showsPrec :: Int -> PostAccountRequestBodyCompany' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCompany' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCompany'
-> PostAccountRequestBodyCompany' -> Bool
(PostAccountRequestBodyCompany'
 -> PostAccountRequestBodyCompany' -> Bool)
-> (PostAccountRequestBodyCompany'
    -> PostAccountRequestBodyCompany' -> Bool)
-> Eq PostAccountRequestBodyCompany'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCompany'
-> PostAccountRequestBodyCompany' -> Bool
$c/= :: PostAccountRequestBodyCompany'
-> PostAccountRequestBodyCompany' -> Bool
== :: PostAccountRequestBodyCompany'
-> PostAccountRequestBodyCompany' -> Bool
$c== :: PostAccountRequestBodyCompany'
-> PostAccountRequestBodyCompany' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCompany' where
  toJSON :: PostAccountRequestBodyCompany' -> Value
toJSON PostAccountRequestBodyCompany'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"address" Text -> Maybe PostAccountRequestBodyCompany'Address' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'
-> Maybe PostAccountRequestBodyCompany'Address'
postAccountRequestBodyCompany'Address PostAccountRequestBodyCompany'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"address_kana" Text -> Maybe PostAccountRequestBodyCompany'AddressKana' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'
-> Maybe PostAccountRequestBodyCompany'AddressKana'
postAccountRequestBodyCompany'AddressKana PostAccountRequestBodyCompany'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"address_kanji" Text -> Maybe PostAccountRequestBodyCompany'AddressKanji' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'
-> Maybe PostAccountRequestBodyCompany'AddressKanji'
postAccountRequestBodyCompany'AddressKanji PostAccountRequestBodyCompany'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"directors_provided" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Bool
postAccountRequestBodyCompany'DirectorsProvided PostAccountRequestBodyCompany'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"executives_provided" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Bool
postAccountRequestBodyCompany'ExecutivesProvided PostAccountRequestBodyCompany'
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..= PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'Name PostAccountRequestBodyCompany'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"name_kana" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'NameKana PostAccountRequestBodyCompany'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"name_kanji" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'NameKanji PostAccountRequestBodyCompany'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"owners_provided" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Bool
postAccountRequestBodyCompany'OwnersProvided PostAccountRequestBodyCompany'
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..= PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'Phone PostAccountRequestBodyCompany'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"registration_number" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'RegistrationNumber PostAccountRequestBodyCompany'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"structure" Text -> Maybe PostAccountRequestBodyCompany'Structure' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'
-> Maybe PostAccountRequestBodyCompany'Structure'
postAccountRequestBodyCompany'Structure PostAccountRequestBodyCompany'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_id" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'TaxId PostAccountRequestBodyCompany'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_id_registrar" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'TaxIdRegistrar PostAccountRequestBodyCompany'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"vat_id" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'VatId PostAccountRequestBodyCompany'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"verification" Text -> Maybe PostAccountRequestBodyCompany'Verification' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'
-> Maybe PostAccountRequestBodyCompany'Verification'
postAccountRequestBodyCompany'Verification PostAccountRequestBodyCompany'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCompany' -> Encoding
toEncoding PostAccountRequestBodyCompany'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"address" Text -> Maybe PostAccountRequestBodyCompany'Address' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'
-> Maybe PostAccountRequestBodyCompany'Address'
postAccountRequestBodyCompany'Address PostAccountRequestBodyCompany'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"address_kana" Text -> Maybe PostAccountRequestBodyCompany'AddressKana' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'
-> Maybe PostAccountRequestBodyCompany'AddressKana'
postAccountRequestBodyCompany'AddressKana PostAccountRequestBodyCompany'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"address_kanji" Text -> Maybe PostAccountRequestBodyCompany'AddressKanji' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'
-> Maybe PostAccountRequestBodyCompany'AddressKanji'
postAccountRequestBodyCompany'AddressKanji PostAccountRequestBodyCompany'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"directors_provided" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Bool
postAccountRequestBodyCompany'DirectorsProvided PostAccountRequestBodyCompany'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"executives_provided" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Bool
postAccountRequestBodyCompany'ExecutivesProvided PostAccountRequestBodyCompany'
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..= PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'Name PostAccountRequestBodyCompany'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"name_kana" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'NameKana PostAccountRequestBodyCompany'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"name_kanji" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'NameKanji PostAccountRequestBodyCompany'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"owners_provided" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Bool
postAccountRequestBodyCompany'OwnersProvided PostAccountRequestBodyCompany'
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..= PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'Phone PostAccountRequestBodyCompany'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"registration_number" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'RegistrationNumber PostAccountRequestBodyCompany'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"structure" Text -> Maybe PostAccountRequestBodyCompany'Structure' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'
-> Maybe PostAccountRequestBodyCompany'Structure'
postAccountRequestBodyCompany'Structure PostAccountRequestBodyCompany'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tax_id" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'TaxId PostAccountRequestBodyCompany'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tax_id_registrar" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'TaxIdRegistrar PostAccountRequestBodyCompany'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"vat_id" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany' -> Maybe Text
postAccountRequestBodyCompany'VatId PostAccountRequestBodyCompany'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"verification" Text -> Maybe PostAccountRequestBodyCompany'Verification' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'
-> Maybe PostAccountRequestBodyCompany'Verification'
postAccountRequestBodyCompany'Verification PostAccountRequestBodyCompany'
obj))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCompany' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCompany'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodyCompany')
-> Value
-> Parser PostAccountRequestBodyCompany'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCompany'" (\Object
obj -> ((((((((((((((((Maybe PostAccountRequestBodyCompany'Address'
 -> Maybe PostAccountRequestBodyCompany'AddressKana'
 -> Maybe PostAccountRequestBodyCompany'AddressKanji'
 -> Maybe Bool
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Text
 -> Maybe PostAccountRequestBodyCompany'Structure'
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe PostAccountRequestBodyCompany'Verification'
 -> PostAccountRequestBodyCompany')
-> Parser
     (Maybe PostAccountRequestBodyCompany'Address'
      -> Maybe PostAccountRequestBodyCompany'AddressKana'
      -> Maybe PostAccountRequestBodyCompany'AddressKanji'
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Structure'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Verification'
      -> PostAccountRequestBodyCompany')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe PostAccountRequestBodyCompany'Address'
-> Maybe PostAccountRequestBodyCompany'AddressKana'
-> Maybe PostAccountRequestBodyCompany'AddressKanji'
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe PostAccountRequestBodyCompany'Structure'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PostAccountRequestBodyCompany'Verification'
-> PostAccountRequestBodyCompany'
PostAccountRequestBodyCompany' Parser
  (Maybe PostAccountRequestBodyCompany'Address'
   -> Maybe PostAccountRequestBodyCompany'AddressKana'
   -> Maybe PostAccountRequestBodyCompany'AddressKanji'
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Structure'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Verification'
   -> PostAccountRequestBodyCompany')
-> Parser (Maybe PostAccountRequestBodyCompany'Address')
-> Parser
     (Maybe PostAccountRequestBodyCompany'AddressKana'
      -> Maybe PostAccountRequestBodyCompany'AddressKanji'
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Structure'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Verification'
      -> PostAccountRequestBodyCompany')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe PostAccountRequestBodyCompany'Address')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address")) Parser
  (Maybe PostAccountRequestBodyCompany'AddressKana'
   -> Maybe PostAccountRequestBodyCompany'AddressKanji'
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Structure'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Verification'
   -> PostAccountRequestBodyCompany')
-> Parser (Maybe PostAccountRequestBodyCompany'AddressKana')
-> Parser
     (Maybe PostAccountRequestBodyCompany'AddressKanji'
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Structure'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Verification'
      -> PostAccountRequestBodyCompany')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyCompany'AddressKana')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address_kana")) Parser
  (Maybe PostAccountRequestBodyCompany'AddressKanji'
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Structure'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Verification'
   -> PostAccountRequestBodyCompany')
-> Parser (Maybe PostAccountRequestBodyCompany'AddressKanji')
-> Parser
     (Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Structure'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Verification'
      -> PostAccountRequestBodyCompany')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyCompany'AddressKanji')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address_kanji")) Parser
  (Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Structure'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Verification'
   -> PostAccountRequestBodyCompany')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Structure'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Verification'
      -> PostAccountRequestBodyCompany')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"directors_provided")) Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Structure'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Verification'
   -> PostAccountRequestBodyCompany')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Structure'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Verification'
      -> PostAccountRequestBodyCompany')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"executives_provided")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Structure'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Verification'
   -> PostAccountRequestBodyCompany')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Structure'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Verification'
      -> PostAccountRequestBodyCompany')
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 Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Structure'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Verification'
   -> PostAccountRequestBodyCompany')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Structure'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Verification'
      -> PostAccountRequestBodyCompany')
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_kana")) Parser
  (Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Structure'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Verification'
   -> PostAccountRequestBodyCompany')
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Structure'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Verification'
      -> PostAccountRequestBodyCompany')
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_kanji")) Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Structure'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Verification'
   -> PostAccountRequestBodyCompany')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Structure'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Verification'
      -> PostAccountRequestBodyCompany')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"owners_provided")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Structure'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Verification'
   -> PostAccountRequestBodyCompany')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Structure'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Verification'
      -> PostAccountRequestBodyCompany')
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 Text
   -> Maybe PostAccountRequestBodyCompany'Structure'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Verification'
   -> PostAccountRequestBodyCompany')
-> Parser (Maybe Text)
-> Parser
     (Maybe PostAccountRequestBodyCompany'Structure'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Verification'
      -> PostAccountRequestBodyCompany')
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
"registration_number")) Parser
  (Maybe PostAccountRequestBodyCompany'Structure'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Verification'
   -> PostAccountRequestBodyCompany')
-> Parser (Maybe PostAccountRequestBodyCompany'Structure')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Verification'
      -> PostAccountRequestBodyCompany')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe PostAccountRequestBodyCompany'Structure')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"structure")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Verification'
   -> PostAccountRequestBodyCompany')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Verification'
      -> PostAccountRequestBodyCompany')
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
"tax_id")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Verification'
   -> PostAccountRequestBodyCompany')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe PostAccountRequestBodyCompany'Verification'
      -> PostAccountRequestBodyCompany')
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
"tax_id_registrar")) Parser
  (Maybe Text
   -> Maybe PostAccountRequestBodyCompany'Verification'
   -> PostAccountRequestBodyCompany')
-> Parser (Maybe Text)
-> Parser
     (Maybe PostAccountRequestBodyCompany'Verification'
      -> PostAccountRequestBodyCompany')
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
"vat_id")) Parser
  (Maybe PostAccountRequestBodyCompany'Verification'
   -> PostAccountRequestBodyCompany')
-> Parser (Maybe PostAccountRequestBodyCompany'Verification')
-> Parser PostAccountRequestBodyCompany'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyCompany'Verification')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"verification"))

-- | Create a new 'PostAccountRequestBodyCompany'' with all required fields.
mkPostAccountRequestBodyCompany' :: PostAccountRequestBodyCompany'
mkPostAccountRequestBodyCompany' :: PostAccountRequestBodyCompany'
mkPostAccountRequestBodyCompany' =
  PostAccountRequestBodyCompany' :: Maybe PostAccountRequestBodyCompany'Address'
-> Maybe PostAccountRequestBodyCompany'AddressKana'
-> Maybe PostAccountRequestBodyCompany'AddressKanji'
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe PostAccountRequestBodyCompany'Structure'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PostAccountRequestBodyCompany'Verification'
-> PostAccountRequestBodyCompany'
PostAccountRequestBodyCompany'
    { postAccountRequestBodyCompany'Address :: Maybe PostAccountRequestBodyCompany'Address'
postAccountRequestBodyCompany'Address = Maybe PostAccountRequestBodyCompany'Address'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'AddressKana :: Maybe PostAccountRequestBodyCompany'AddressKana'
postAccountRequestBodyCompany'AddressKana = Maybe PostAccountRequestBodyCompany'AddressKana'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'AddressKanji :: Maybe PostAccountRequestBodyCompany'AddressKanji'
postAccountRequestBodyCompany'AddressKanji = Maybe PostAccountRequestBodyCompany'AddressKanji'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'DirectorsProvided :: Maybe Bool
postAccountRequestBodyCompany'DirectorsProvided = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'ExecutivesProvided :: Maybe Bool
postAccountRequestBodyCompany'ExecutivesProvided = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'Name :: Maybe Text
postAccountRequestBodyCompany'Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'NameKana :: Maybe Text
postAccountRequestBodyCompany'NameKana = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'NameKanji :: Maybe Text
postAccountRequestBodyCompany'NameKanji = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'OwnersProvided :: Maybe Bool
postAccountRequestBodyCompany'OwnersProvided = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'Phone :: Maybe Text
postAccountRequestBodyCompany'Phone = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'RegistrationNumber :: Maybe Text
postAccountRequestBodyCompany'RegistrationNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'Structure :: Maybe PostAccountRequestBodyCompany'Structure'
postAccountRequestBodyCompany'Structure = Maybe PostAccountRequestBodyCompany'Structure'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'TaxId :: Maybe Text
postAccountRequestBodyCompany'TaxId = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'TaxIdRegistrar :: Maybe Text
postAccountRequestBodyCompany'TaxIdRegistrar = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'VatId :: Maybe Text
postAccountRequestBodyCompany'VatId = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'Verification :: Maybe PostAccountRequestBodyCompany'Verification'
postAccountRequestBodyCompany'Verification = Maybe PostAccountRequestBodyCompany'Verification'
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.company.properties.address@ in the specification.
data PostAccountRequestBodyCompany'Address' = PostAccountRequestBodyCompany'Address'
  { -- | city
    --
    -- Constraints:
    --
    -- * Maximum length of 100
    PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | country
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line1
    --
    -- Constraints:
    --
    -- * Maximum length of 200
    PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line2
    --
    -- Constraints:
    --
    -- * Maximum length of 200
    PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> PostAccountRequestBodyCompany'Address' -> ShowS
[PostAccountRequestBodyCompany'Address'] -> ShowS
PostAccountRequestBodyCompany'Address' -> String
(Int -> PostAccountRequestBodyCompany'Address' -> ShowS)
-> (PostAccountRequestBodyCompany'Address' -> String)
-> ([PostAccountRequestBodyCompany'Address'] -> ShowS)
-> Show PostAccountRequestBodyCompany'Address'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCompany'Address'] -> ShowS
$cshowList :: [PostAccountRequestBodyCompany'Address'] -> ShowS
show :: PostAccountRequestBodyCompany'Address' -> String
$cshow :: PostAccountRequestBodyCompany'Address' -> String
showsPrec :: Int -> PostAccountRequestBodyCompany'Address' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCompany'Address' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCompany'Address'
-> PostAccountRequestBodyCompany'Address' -> Bool
(PostAccountRequestBodyCompany'Address'
 -> PostAccountRequestBodyCompany'Address' -> Bool)
-> (PostAccountRequestBodyCompany'Address'
    -> PostAccountRequestBodyCompany'Address' -> Bool)
-> Eq PostAccountRequestBodyCompany'Address'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCompany'Address'
-> PostAccountRequestBodyCompany'Address' -> Bool
$c/= :: PostAccountRequestBodyCompany'Address'
-> PostAccountRequestBodyCompany'Address' -> Bool
== :: PostAccountRequestBodyCompany'Address'
-> PostAccountRequestBodyCompany'Address' -> Bool
$c== :: PostAccountRequestBodyCompany'Address'
-> PostAccountRequestBodyCompany'Address' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCompany'Address' where
  toJSON :: PostAccountRequestBodyCompany'Address' -> Value
toJSON PostAccountRequestBodyCompany'Address'
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..= PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'City PostAccountRequestBodyCompany'Address'
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..= PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'Country PostAccountRequestBodyCompany'Address'
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..= PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'Line1 PostAccountRequestBodyCompany'Address'
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..= PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'Line2 PostAccountRequestBodyCompany'Address'
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..= PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'PostalCode PostAccountRequestBodyCompany'Address'
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..= PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'State PostAccountRequestBodyCompany'Address'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCompany'Address' -> Encoding
toEncoding PostAccountRequestBodyCompany'Address'
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..= PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'City PostAccountRequestBodyCompany'Address'
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..= PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'Country PostAccountRequestBodyCompany'Address'
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..= PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'Line1 PostAccountRequestBodyCompany'Address'
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..= PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'Line2 PostAccountRequestBodyCompany'Address'
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..= PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'PostalCode PostAccountRequestBodyCompany'Address'
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..= PostAccountRequestBodyCompany'Address' -> Maybe Text
postAccountRequestBodyCompany'Address'State PostAccountRequestBodyCompany'Address'
obj))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCompany'Address' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCompany'Address'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodyCompany'Address')
-> Value
-> Parser PostAccountRequestBodyCompany'Address'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCompany'Address'" (\Object
obj -> ((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> PostAccountRequestBodyCompany'Address')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyCompany'Address')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyCompany'Address'
PostAccountRequestBodyCompany'Address' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodyCompany'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyCompany'Address')
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
   -> PostAccountRequestBodyCompany'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyCompany'Address')
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
   -> PostAccountRequestBodyCompany'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyCompany'Address')
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
   -> PostAccountRequestBodyCompany'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> PostAccountRequestBodyCompany'Address')
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 -> PostAccountRequestBodyCompany'Address')
-> Parser (Maybe Text)
-> Parser (Maybe Text -> PostAccountRequestBodyCompany'Address')
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 -> PostAccountRequestBodyCompany'Address')
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodyCompany'Address'
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 'PostAccountRequestBodyCompany'Address'' with all required fields.
mkPostAccountRequestBodyCompany'Address' :: PostAccountRequestBodyCompany'Address'
mkPostAccountRequestBodyCompany'Address' :: PostAccountRequestBodyCompany'Address'
mkPostAccountRequestBodyCompany'Address' =
  PostAccountRequestBodyCompany'Address' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyCompany'Address'
PostAccountRequestBodyCompany'Address'
    { postAccountRequestBodyCompany'Address'City :: Maybe Text
postAccountRequestBodyCompany'Address'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'Address'Country :: Maybe Text
postAccountRequestBodyCompany'Address'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'Address'Line1 :: Maybe Text
postAccountRequestBodyCompany'Address'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'Address'Line2 :: Maybe Text
postAccountRequestBodyCompany'Address'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'Address'PostalCode :: Maybe Text
postAccountRequestBodyCompany'Address'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'Address'State :: Maybe Text
postAccountRequestBodyCompany'Address'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.company.properties.address_kana@ in the specification.
data PostAccountRequestBodyCompany'AddressKana' = PostAccountRequestBodyCompany'AddressKana'
  { -- | city
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | country
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line1
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line2
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | town
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> PostAccountRequestBodyCompany'AddressKana' -> ShowS
[PostAccountRequestBodyCompany'AddressKana'] -> ShowS
PostAccountRequestBodyCompany'AddressKana' -> String
(Int -> PostAccountRequestBodyCompany'AddressKana' -> ShowS)
-> (PostAccountRequestBodyCompany'AddressKana' -> String)
-> ([PostAccountRequestBodyCompany'AddressKana'] -> ShowS)
-> Show PostAccountRequestBodyCompany'AddressKana'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCompany'AddressKana'] -> ShowS
$cshowList :: [PostAccountRequestBodyCompany'AddressKana'] -> ShowS
show :: PostAccountRequestBodyCompany'AddressKana' -> String
$cshow :: PostAccountRequestBodyCompany'AddressKana' -> String
showsPrec :: Int -> PostAccountRequestBodyCompany'AddressKana' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCompany'AddressKana' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCompany'AddressKana'
-> PostAccountRequestBodyCompany'AddressKana' -> Bool
(PostAccountRequestBodyCompany'AddressKana'
 -> PostAccountRequestBodyCompany'AddressKana' -> Bool)
-> (PostAccountRequestBodyCompany'AddressKana'
    -> PostAccountRequestBodyCompany'AddressKana' -> Bool)
-> Eq PostAccountRequestBodyCompany'AddressKana'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCompany'AddressKana'
-> PostAccountRequestBodyCompany'AddressKana' -> Bool
$c/= :: PostAccountRequestBodyCompany'AddressKana'
-> PostAccountRequestBodyCompany'AddressKana' -> Bool
== :: PostAccountRequestBodyCompany'AddressKana'
-> PostAccountRequestBodyCompany'AddressKana' -> Bool
$c== :: PostAccountRequestBodyCompany'AddressKana'
-> PostAccountRequestBodyCompany'AddressKana' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCompany'AddressKana' where
  toJSON :: PostAccountRequestBodyCompany'AddressKana' -> Value
toJSON PostAccountRequestBodyCompany'AddressKana'
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..= PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'City PostAccountRequestBodyCompany'AddressKana'
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..= PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'Country PostAccountRequestBodyCompany'AddressKana'
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..= PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'Line1 PostAccountRequestBodyCompany'AddressKana'
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..= PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'Line2 PostAccountRequestBodyCompany'AddressKana'
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..= PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'PostalCode PostAccountRequestBodyCompany'AddressKana'
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..= PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'State PostAccountRequestBodyCompany'AddressKana'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"town" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'Town PostAccountRequestBodyCompany'AddressKana'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCompany'AddressKana' -> Encoding
toEncoding PostAccountRequestBodyCompany'AddressKana'
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..= PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'City PostAccountRequestBodyCompany'AddressKana'
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..= PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'Country PostAccountRequestBodyCompany'AddressKana'
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..= PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'Line1 PostAccountRequestBodyCompany'AddressKana'
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..= PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'Line2 PostAccountRequestBodyCompany'AddressKana'
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..= PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'PostalCode PostAccountRequestBodyCompany'AddressKana'
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..= PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'State PostAccountRequestBodyCompany'AddressKana'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"town" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'AddressKana' -> Maybe Text
postAccountRequestBodyCompany'AddressKana'Town PostAccountRequestBodyCompany'AddressKana'
obj)))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCompany'AddressKana' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCompany'AddressKana'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodyCompany'AddressKana')
-> Value
-> Parser PostAccountRequestBodyCompany'AddressKana'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCompany'AddressKana'" (\Object
obj -> (((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> PostAccountRequestBodyCompany'AddressKana')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyCompany'AddressKana')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyCompany'AddressKana'
PostAccountRequestBodyCompany'AddressKana' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodyCompany'AddressKana')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyCompany'AddressKana')
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
   -> Maybe Text
   -> PostAccountRequestBodyCompany'AddressKana')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyCompany'AddressKana')
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
   -> Maybe Text
   -> PostAccountRequestBodyCompany'AddressKana')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyCompany'AddressKana')
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
   -> Maybe Text
   -> PostAccountRequestBodyCompany'AddressKana')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyCompany'AddressKana')
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
   -> Maybe Text
   -> PostAccountRequestBodyCompany'AddressKana')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> PostAccountRequestBodyCompany'AddressKana')
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
   -> Maybe Text -> PostAccountRequestBodyCompany'AddressKana')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text -> PostAccountRequestBodyCompany'AddressKana')
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")) Parser (Maybe Text -> PostAccountRequestBodyCompany'AddressKana')
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodyCompany'AddressKana'
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
"town"))

-- | Create a new 'PostAccountRequestBodyCompany'AddressKana'' with all required fields.
mkPostAccountRequestBodyCompany'AddressKana' :: PostAccountRequestBodyCompany'AddressKana'
mkPostAccountRequestBodyCompany'AddressKana' :: PostAccountRequestBodyCompany'AddressKana'
mkPostAccountRequestBodyCompany'AddressKana' =
  PostAccountRequestBodyCompany'AddressKana' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyCompany'AddressKana'
PostAccountRequestBodyCompany'AddressKana'
    { postAccountRequestBodyCompany'AddressKana'City :: Maybe Text
postAccountRequestBodyCompany'AddressKana'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'AddressKana'Country :: Maybe Text
postAccountRequestBodyCompany'AddressKana'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'AddressKana'Line1 :: Maybe Text
postAccountRequestBodyCompany'AddressKana'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'AddressKana'Line2 :: Maybe Text
postAccountRequestBodyCompany'AddressKana'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'AddressKana'PostalCode :: Maybe Text
postAccountRequestBodyCompany'AddressKana'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'AddressKana'State :: Maybe Text
postAccountRequestBodyCompany'AddressKana'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'AddressKana'Town :: Maybe Text
postAccountRequestBodyCompany'AddressKana'Town = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.company.properties.address_kanji@ in the specification.
data PostAccountRequestBodyCompany'AddressKanji' = PostAccountRequestBodyCompany'AddressKanji'
  { -- | city
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | country
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line1
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line2
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | town
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> PostAccountRequestBodyCompany'AddressKanji' -> ShowS
[PostAccountRequestBodyCompany'AddressKanji'] -> ShowS
PostAccountRequestBodyCompany'AddressKanji' -> String
(Int -> PostAccountRequestBodyCompany'AddressKanji' -> ShowS)
-> (PostAccountRequestBodyCompany'AddressKanji' -> String)
-> ([PostAccountRequestBodyCompany'AddressKanji'] -> ShowS)
-> Show PostAccountRequestBodyCompany'AddressKanji'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCompany'AddressKanji'] -> ShowS
$cshowList :: [PostAccountRequestBodyCompany'AddressKanji'] -> ShowS
show :: PostAccountRequestBodyCompany'AddressKanji' -> String
$cshow :: PostAccountRequestBodyCompany'AddressKanji' -> String
showsPrec :: Int -> PostAccountRequestBodyCompany'AddressKanji' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCompany'AddressKanji' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCompany'AddressKanji'
-> PostAccountRequestBodyCompany'AddressKanji' -> Bool
(PostAccountRequestBodyCompany'AddressKanji'
 -> PostAccountRequestBodyCompany'AddressKanji' -> Bool)
-> (PostAccountRequestBodyCompany'AddressKanji'
    -> PostAccountRequestBodyCompany'AddressKanji' -> Bool)
-> Eq PostAccountRequestBodyCompany'AddressKanji'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCompany'AddressKanji'
-> PostAccountRequestBodyCompany'AddressKanji' -> Bool
$c/= :: PostAccountRequestBodyCompany'AddressKanji'
-> PostAccountRequestBodyCompany'AddressKanji' -> Bool
== :: PostAccountRequestBodyCompany'AddressKanji'
-> PostAccountRequestBodyCompany'AddressKanji' -> Bool
$c== :: PostAccountRequestBodyCompany'AddressKanji'
-> PostAccountRequestBodyCompany'AddressKanji' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCompany'AddressKanji' where
  toJSON :: PostAccountRequestBodyCompany'AddressKanji' -> Value
toJSON PostAccountRequestBodyCompany'AddressKanji'
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..= PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'City PostAccountRequestBodyCompany'AddressKanji'
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..= PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'Country PostAccountRequestBodyCompany'AddressKanji'
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..= PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'Line1 PostAccountRequestBodyCompany'AddressKanji'
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..= PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'Line2 PostAccountRequestBodyCompany'AddressKanji'
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..= PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'PostalCode PostAccountRequestBodyCompany'AddressKanji'
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..= PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'State PostAccountRequestBodyCompany'AddressKanji'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"town" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'Town PostAccountRequestBodyCompany'AddressKanji'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCompany'AddressKanji' -> Encoding
toEncoding PostAccountRequestBodyCompany'AddressKanji'
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..= PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'City PostAccountRequestBodyCompany'AddressKanji'
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..= PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'Country PostAccountRequestBodyCompany'AddressKanji'
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..= PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'Line1 PostAccountRequestBodyCompany'AddressKanji'
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..= PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'Line2 PostAccountRequestBodyCompany'AddressKanji'
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..= PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'PostalCode PostAccountRequestBodyCompany'AddressKanji'
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..= PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'State PostAccountRequestBodyCompany'AddressKanji'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"town" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'AddressKanji' -> Maybe Text
postAccountRequestBodyCompany'AddressKanji'Town PostAccountRequestBodyCompany'AddressKanji'
obj)))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCompany'AddressKanji' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCompany'AddressKanji'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodyCompany'AddressKanji')
-> Value
-> Parser PostAccountRequestBodyCompany'AddressKanji'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCompany'AddressKanji'" (\Object
obj -> (((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> PostAccountRequestBodyCompany'AddressKanji')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyCompany'AddressKanji')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyCompany'AddressKanji'
PostAccountRequestBodyCompany'AddressKanji' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodyCompany'AddressKanji')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyCompany'AddressKanji')
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
   -> Maybe Text
   -> PostAccountRequestBodyCompany'AddressKanji')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyCompany'AddressKanji')
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
   -> Maybe Text
   -> PostAccountRequestBodyCompany'AddressKanji')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyCompany'AddressKanji')
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
   -> Maybe Text
   -> PostAccountRequestBodyCompany'AddressKanji')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyCompany'AddressKanji')
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
   -> Maybe Text
   -> PostAccountRequestBodyCompany'AddressKanji')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> PostAccountRequestBodyCompany'AddressKanji')
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
   -> Maybe Text -> PostAccountRequestBodyCompany'AddressKanji')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text -> PostAccountRequestBodyCompany'AddressKanji')
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")) Parser (Maybe Text -> PostAccountRequestBodyCompany'AddressKanji')
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodyCompany'AddressKanji'
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
"town"))

-- | Create a new 'PostAccountRequestBodyCompany'AddressKanji'' with all required fields.
mkPostAccountRequestBodyCompany'AddressKanji' :: PostAccountRequestBodyCompany'AddressKanji'
mkPostAccountRequestBodyCompany'AddressKanji' :: PostAccountRequestBodyCompany'AddressKanji'
mkPostAccountRequestBodyCompany'AddressKanji' =
  PostAccountRequestBodyCompany'AddressKanji' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyCompany'AddressKanji'
PostAccountRequestBodyCompany'AddressKanji'
    { postAccountRequestBodyCompany'AddressKanji'City :: Maybe Text
postAccountRequestBodyCompany'AddressKanji'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'AddressKanji'Country :: Maybe Text
postAccountRequestBodyCompany'AddressKanji'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'AddressKanji'Line1 :: Maybe Text
postAccountRequestBodyCompany'AddressKanji'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'AddressKanji'Line2 :: Maybe Text
postAccountRequestBodyCompany'AddressKanji'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'AddressKanji'PostalCode :: Maybe Text
postAccountRequestBodyCompany'AddressKanji'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'AddressKanji'State :: Maybe Text
postAccountRequestBodyCompany'AddressKanji'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'AddressKanji'Town :: Maybe Text
postAccountRequestBodyCompany'AddressKanji'Town = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the enum schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.company.properties.structure@ in the specification.
data PostAccountRequestBodyCompany'Structure'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    PostAccountRequestBodyCompany'Structure'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    PostAccountRequestBodyCompany'Structure'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @""@
    PostAccountRequestBodyCompany'Structure'EnumEmptyString
  | -- | Represents the JSON value @"free_zone_establishment"@
    PostAccountRequestBodyCompany'Structure'EnumFreeZoneEstablishment
  | -- | Represents the JSON value @"free_zone_llc"@
    PostAccountRequestBodyCompany'Structure'EnumFreeZoneLlc
  | -- | Represents the JSON value @"government_instrumentality"@
    PostAccountRequestBodyCompany'Structure'EnumGovernmentInstrumentality
  | -- | Represents the JSON value @"governmental_unit"@
    PostAccountRequestBodyCompany'Structure'EnumGovernmentalUnit
  | -- | Represents the JSON value @"incorporated_non_profit"@
    PostAccountRequestBodyCompany'Structure'EnumIncorporatedNonProfit
  | -- | Represents the JSON value @"limited_liability_partnership"@
    PostAccountRequestBodyCompany'Structure'EnumLimitedLiabilityPartnership
  | -- | Represents the JSON value @"llc"@
    PostAccountRequestBodyCompany'Structure'EnumLlc
  | -- | Represents the JSON value @"multi_member_llc"@
    PostAccountRequestBodyCompany'Structure'EnumMultiMemberLlc
  | -- | Represents the JSON value @"private_company"@
    PostAccountRequestBodyCompany'Structure'EnumPrivateCompany
  | -- | Represents the JSON value @"private_corporation"@
    PostAccountRequestBodyCompany'Structure'EnumPrivateCorporation
  | -- | Represents the JSON value @"private_partnership"@
    PostAccountRequestBodyCompany'Structure'EnumPrivatePartnership
  | -- | Represents the JSON value @"public_company"@
    PostAccountRequestBodyCompany'Structure'EnumPublicCompany
  | -- | Represents the JSON value @"public_corporation"@
    PostAccountRequestBodyCompany'Structure'EnumPublicCorporation
  | -- | Represents the JSON value @"public_partnership"@
    PostAccountRequestBodyCompany'Structure'EnumPublicPartnership
  | -- | Represents the JSON value @"single_member_llc"@
    PostAccountRequestBodyCompany'Structure'EnumSingleMemberLlc
  | -- | Represents the JSON value @"sole_establishment"@
    PostAccountRequestBodyCompany'Structure'EnumSoleEstablishment
  | -- | Represents the JSON value @"sole_proprietorship"@
    PostAccountRequestBodyCompany'Structure'EnumSoleProprietorship
  | -- | Represents the JSON value @"tax_exempt_government_instrumentality"@
    PostAccountRequestBodyCompany'Structure'EnumTaxExemptGovernmentInstrumentality
  | -- | Represents the JSON value @"unincorporated_association"@
    PostAccountRequestBodyCompany'Structure'EnumUnincorporatedAssociation
  | -- | Represents the JSON value @"unincorporated_non_profit"@
    PostAccountRequestBodyCompany'Structure'EnumUnincorporatedNonProfit
  deriving (Int -> PostAccountRequestBodyCompany'Structure' -> ShowS
[PostAccountRequestBodyCompany'Structure'] -> ShowS
PostAccountRequestBodyCompany'Structure' -> String
(Int -> PostAccountRequestBodyCompany'Structure' -> ShowS)
-> (PostAccountRequestBodyCompany'Structure' -> String)
-> ([PostAccountRequestBodyCompany'Structure'] -> ShowS)
-> Show PostAccountRequestBodyCompany'Structure'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCompany'Structure'] -> ShowS
$cshowList :: [PostAccountRequestBodyCompany'Structure'] -> ShowS
show :: PostAccountRequestBodyCompany'Structure' -> String
$cshow :: PostAccountRequestBodyCompany'Structure' -> String
showsPrec :: Int -> PostAccountRequestBodyCompany'Structure' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCompany'Structure' -> ShowS
GHC.Show.Show, PostAccountRequestBodyCompany'Structure'
-> PostAccountRequestBodyCompany'Structure' -> Bool
(PostAccountRequestBodyCompany'Structure'
 -> PostAccountRequestBodyCompany'Structure' -> Bool)
-> (PostAccountRequestBodyCompany'Structure'
    -> PostAccountRequestBodyCompany'Structure' -> Bool)
-> Eq PostAccountRequestBodyCompany'Structure'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCompany'Structure'
-> PostAccountRequestBodyCompany'Structure' -> Bool
$c/= :: PostAccountRequestBodyCompany'Structure'
-> PostAccountRequestBodyCompany'Structure' -> Bool
== :: PostAccountRequestBodyCompany'Structure'
-> PostAccountRequestBodyCompany'Structure' -> Bool
$c== :: PostAccountRequestBodyCompany'Structure'
-> PostAccountRequestBodyCompany'Structure' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCompany'Structure' where
  toJSON :: PostAccountRequestBodyCompany'Structure' -> Value
toJSON (PostAccountRequestBodyCompany'Structure'Other Value
val) = Value
val
  toJSON (PostAccountRequestBodyCompany'Structure'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumEmptyString) = Value
""
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumFreeZoneEstablishment) = Value
"free_zone_establishment"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumFreeZoneLlc) = Value
"free_zone_llc"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumGovernmentInstrumentality) = Value
"government_instrumentality"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumGovernmentalUnit) = Value
"governmental_unit"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumIncorporatedNonProfit) = Value
"incorporated_non_profit"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumLimitedLiabilityPartnership) = Value
"limited_liability_partnership"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumLlc) = Value
"llc"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumMultiMemberLlc) = Value
"multi_member_llc"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumPrivateCompany) = Value
"private_company"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumPrivateCorporation) = Value
"private_corporation"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumPrivatePartnership) = Value
"private_partnership"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumPublicCompany) = Value
"public_company"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumPublicCorporation) = Value
"public_corporation"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumPublicPartnership) = Value
"public_partnership"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumSingleMemberLlc) = Value
"single_member_llc"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumSoleEstablishment) = Value
"sole_establishment"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumSoleProprietorship) = Value
"sole_proprietorship"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumTaxExemptGovernmentInstrumentality) = Value
"tax_exempt_government_instrumentality"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumUnincorporatedAssociation) = Value
"unincorporated_association"
  toJSON (PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumUnincorporatedNonProfit) = Value
"unincorporated_non_profit"

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCompany'Structure' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCompany'Structure'
parseJSON Value
val =
    PostAccountRequestBodyCompany'Structure'
-> Parser PostAccountRequestBodyCompany'Structure'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumEmptyString
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"free_zone_establishment" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumFreeZoneEstablishment
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"free_zone_llc" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumFreeZoneLlc
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"government_instrumentality" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumGovernmentInstrumentality
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"governmental_unit" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumGovernmentalUnit
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"incorporated_non_profit" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumIncorporatedNonProfit
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"limited_liability_partnership" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumLimitedLiabilityPartnership
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"llc" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumLlc
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"multi_member_llc" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumMultiMemberLlc
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"private_company" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumPrivateCompany
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"private_corporation" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumPrivateCorporation
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"private_partnership" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumPrivatePartnership
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"public_company" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumPublicCompany
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"public_corporation" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumPublicCorporation
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"public_partnership" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumPublicPartnership
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"single_member_llc" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumSingleMemberLlc
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"sole_establishment" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumSoleEstablishment
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"sole_proprietorship" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumSoleProprietorship
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"tax_exempt_government_instrumentality" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumTaxExemptGovernmentInstrumentality
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"unincorporated_association" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumUnincorporatedAssociation
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"unincorporated_non_profit" -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'EnumUnincorporatedNonProfit
            | Bool
GHC.Base.otherwise -> Value -> PostAccountRequestBodyCompany'Structure'
PostAccountRequestBodyCompany'Structure'Other Value
val
      )

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.company.properties.verification@ in the specification.
data PostAccountRequestBodyCompany'Verification' = PostAccountRequestBodyCompany'Verification'
  { -- | document
    PostAccountRequestBodyCompany'Verification'
-> Maybe PostAccountRequestBodyCompany'Verification'Document'
postAccountRequestBodyCompany'Verification'Document :: (GHC.Maybe.Maybe PostAccountRequestBodyCompany'Verification'Document')
  }
  deriving
    ( Int -> PostAccountRequestBodyCompany'Verification' -> ShowS
[PostAccountRequestBodyCompany'Verification'] -> ShowS
PostAccountRequestBodyCompany'Verification' -> String
(Int -> PostAccountRequestBodyCompany'Verification' -> ShowS)
-> (PostAccountRequestBodyCompany'Verification' -> String)
-> ([PostAccountRequestBodyCompany'Verification'] -> ShowS)
-> Show PostAccountRequestBodyCompany'Verification'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCompany'Verification'] -> ShowS
$cshowList :: [PostAccountRequestBodyCompany'Verification'] -> ShowS
show :: PostAccountRequestBodyCompany'Verification' -> String
$cshow :: PostAccountRequestBodyCompany'Verification' -> String
showsPrec :: Int -> PostAccountRequestBodyCompany'Verification' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyCompany'Verification' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCompany'Verification'
-> PostAccountRequestBodyCompany'Verification' -> Bool
(PostAccountRequestBodyCompany'Verification'
 -> PostAccountRequestBodyCompany'Verification' -> Bool)
-> (PostAccountRequestBodyCompany'Verification'
    -> PostAccountRequestBodyCompany'Verification' -> Bool)
-> Eq PostAccountRequestBodyCompany'Verification'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCompany'Verification'
-> PostAccountRequestBodyCompany'Verification' -> Bool
$c/= :: PostAccountRequestBodyCompany'Verification'
-> PostAccountRequestBodyCompany'Verification' -> Bool
== :: PostAccountRequestBodyCompany'Verification'
-> PostAccountRequestBodyCompany'Verification' -> Bool
$c== :: PostAccountRequestBodyCompany'Verification'
-> PostAccountRequestBodyCompany'Verification' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCompany'Verification' where
  toJSON :: PostAccountRequestBodyCompany'Verification' -> Value
toJSON PostAccountRequestBodyCompany'Verification'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"document" Text
-> Maybe PostAccountRequestBodyCompany'Verification'Document'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'Verification'
-> Maybe PostAccountRequestBodyCompany'Verification'Document'
postAccountRequestBodyCompany'Verification'Document PostAccountRequestBodyCompany'Verification'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCompany'Verification' -> Encoding
toEncoding PostAccountRequestBodyCompany'Verification'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"document" Text
-> Maybe PostAccountRequestBodyCompany'Verification'Document'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'Verification'
-> Maybe PostAccountRequestBodyCompany'Verification'Document'
postAccountRequestBodyCompany'Verification'Document PostAccountRequestBodyCompany'Verification'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCompany'Verification' where
  parseJSON :: Value -> Parser PostAccountRequestBodyCompany'Verification'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodyCompany'Verification')
-> Value
-> Parser PostAccountRequestBodyCompany'Verification'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCompany'Verification'" (\Object
obj -> (Maybe PostAccountRequestBodyCompany'Verification'Document'
 -> PostAccountRequestBodyCompany'Verification')
-> Parser
     (Maybe PostAccountRequestBodyCompany'Verification'Document'
      -> PostAccountRequestBodyCompany'Verification')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe PostAccountRequestBodyCompany'Verification'Document'
-> PostAccountRequestBodyCompany'Verification'
PostAccountRequestBodyCompany'Verification' Parser
  (Maybe PostAccountRequestBodyCompany'Verification'Document'
   -> PostAccountRequestBodyCompany'Verification')
-> Parser
     (Maybe PostAccountRequestBodyCompany'Verification'Document')
-> Parser PostAccountRequestBodyCompany'Verification'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyCompany'Verification'Document')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"document"))

-- | Create a new 'PostAccountRequestBodyCompany'Verification'' with all required fields.
mkPostAccountRequestBodyCompany'Verification' :: PostAccountRequestBodyCompany'Verification'
mkPostAccountRequestBodyCompany'Verification' :: PostAccountRequestBodyCompany'Verification'
mkPostAccountRequestBodyCompany'Verification' = PostAccountRequestBodyCompany'Verification' :: Maybe PostAccountRequestBodyCompany'Verification'Document'
-> PostAccountRequestBodyCompany'Verification'
PostAccountRequestBodyCompany'Verification' {postAccountRequestBodyCompany'Verification'Document :: Maybe PostAccountRequestBodyCompany'Verification'Document'
postAccountRequestBodyCompany'Verification'Document = Maybe PostAccountRequestBodyCompany'Verification'Document'
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.company.properties.verification.properties.document@ in the specification.
data PostAccountRequestBodyCompany'Verification'Document' = PostAccountRequestBodyCompany'Verification'Document'
  { -- | back
    --
    -- Constraints:
    --
    -- * Maximum length of 500
    PostAccountRequestBodyCompany'Verification'Document' -> Maybe Text
postAccountRequestBodyCompany'Verification'Document'Back :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | front
    --
    -- Constraints:
    --
    -- * Maximum length of 500
    PostAccountRequestBodyCompany'Verification'Document' -> Maybe Text
postAccountRequestBodyCompany'Verification'Document'Front :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> PostAccountRequestBodyCompany'Verification'Document' -> ShowS
[PostAccountRequestBodyCompany'Verification'Document'] -> ShowS
PostAccountRequestBodyCompany'Verification'Document' -> String
(Int
 -> PostAccountRequestBodyCompany'Verification'Document' -> ShowS)
-> (PostAccountRequestBodyCompany'Verification'Document' -> String)
-> ([PostAccountRequestBodyCompany'Verification'Document']
    -> ShowS)
-> Show PostAccountRequestBodyCompany'Verification'Document'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyCompany'Verification'Document'] -> ShowS
$cshowList :: [PostAccountRequestBodyCompany'Verification'Document'] -> ShowS
show :: PostAccountRequestBodyCompany'Verification'Document' -> String
$cshow :: PostAccountRequestBodyCompany'Verification'Document' -> String
showsPrec :: Int
-> PostAccountRequestBodyCompany'Verification'Document' -> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyCompany'Verification'Document' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyCompany'Verification'Document'
-> PostAccountRequestBodyCompany'Verification'Document' -> Bool
(PostAccountRequestBodyCompany'Verification'Document'
 -> PostAccountRequestBodyCompany'Verification'Document' -> Bool)
-> (PostAccountRequestBodyCompany'Verification'Document'
    -> PostAccountRequestBodyCompany'Verification'Document' -> Bool)
-> Eq PostAccountRequestBodyCompany'Verification'Document'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyCompany'Verification'Document'
-> PostAccountRequestBodyCompany'Verification'Document' -> Bool
$c/= :: PostAccountRequestBodyCompany'Verification'Document'
-> PostAccountRequestBodyCompany'Verification'Document' -> Bool
== :: PostAccountRequestBodyCompany'Verification'Document'
-> PostAccountRequestBodyCompany'Verification'Document' -> Bool
$c== :: PostAccountRequestBodyCompany'Verification'Document'
-> PostAccountRequestBodyCompany'Verification'Document' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyCompany'Verification'Document' where
  toJSON :: PostAccountRequestBodyCompany'Verification'Document' -> Value
toJSON PostAccountRequestBodyCompany'Verification'Document'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"back" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'Verification'Document' -> Maybe Text
postAccountRequestBodyCompany'Verification'Document'Back PostAccountRequestBodyCompany'Verification'Document'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"front" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'Verification'Document' -> Maybe Text
postAccountRequestBodyCompany'Verification'Document'Front PostAccountRequestBodyCompany'Verification'Document'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyCompany'Verification'Document' -> Encoding
toEncoding PostAccountRequestBodyCompany'Verification'Document'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"back" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'Verification'Document' -> Maybe Text
postAccountRequestBodyCompany'Verification'Document'Back PostAccountRequestBodyCompany'Verification'Document'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"front" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyCompany'Verification'Document' -> Maybe Text
postAccountRequestBodyCompany'Verification'Document'Front PostAccountRequestBodyCompany'Verification'Document'
obj))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyCompany'Verification'Document' where
  parseJSON :: Value
-> Parser PostAccountRequestBodyCompany'Verification'Document'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyCompany'Verification'Document')
-> Value
-> Parser PostAccountRequestBodyCompany'Verification'Document'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyCompany'Verification'Document'" (\Object
obj -> ((Maybe Text
 -> Maybe Text
 -> PostAccountRequestBodyCompany'Verification'Document')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyCompany'Verification'Document')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> PostAccountRequestBodyCompany'Verification'Document'
PostAccountRequestBodyCompany'Verification'Document' Parser
  (Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodyCompany'Verification'Document')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> PostAccountRequestBodyCompany'Verification'Document')
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
"back")) Parser
  (Maybe Text
   -> PostAccountRequestBodyCompany'Verification'Document')
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodyCompany'Verification'Document'
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
"front"))

-- | Create a new 'PostAccountRequestBodyCompany'Verification'Document'' with all required fields.
mkPostAccountRequestBodyCompany'Verification'Document' :: PostAccountRequestBodyCompany'Verification'Document'
mkPostAccountRequestBodyCompany'Verification'Document' :: PostAccountRequestBodyCompany'Verification'Document'
mkPostAccountRequestBodyCompany'Verification'Document' =
  PostAccountRequestBodyCompany'Verification'Document' :: Maybe Text
-> Maybe Text
-> PostAccountRequestBodyCompany'Verification'Document'
PostAccountRequestBodyCompany'Verification'Document'
    { postAccountRequestBodyCompany'Verification'Document'Back :: Maybe Text
postAccountRequestBodyCompany'Verification'Document'Back = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyCompany'Verification'Document'Front :: Maybe Text
postAccountRequestBodyCompany'Verification'Document'Front = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents@ in the specification.
--
-- Documents that may be submitted to satisfy various informational requests.
data PostAccountRequestBodyDocuments' = PostAccountRequestBodyDocuments'
  { -- | bank_account_ownership_verification
    PostAccountRequestBodyDocuments'
-> Maybe
     PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
postAccountRequestBodyDocuments'BankAccountOwnershipVerification :: (GHC.Maybe.Maybe PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'),
    -- | company_license
    PostAccountRequestBodyDocuments'
-> Maybe PostAccountRequestBodyDocuments'CompanyLicense'
postAccountRequestBodyDocuments'CompanyLicense :: (GHC.Maybe.Maybe PostAccountRequestBodyDocuments'CompanyLicense'),
    -- | company_memorandum_of_association
    PostAccountRequestBodyDocuments'
-> Maybe
     PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
postAccountRequestBodyDocuments'CompanyMemorandumOfAssociation :: (GHC.Maybe.Maybe PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'),
    -- | company_ministerial_decree
    PostAccountRequestBodyDocuments'
-> Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
postAccountRequestBodyDocuments'CompanyMinisterialDecree :: (GHC.Maybe.Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'),
    -- | company_registration_verification
    PostAccountRequestBodyDocuments'
-> Maybe
     PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
postAccountRequestBodyDocuments'CompanyRegistrationVerification :: (GHC.Maybe.Maybe PostAccountRequestBodyDocuments'CompanyRegistrationVerification'),
    -- | company_tax_id_verification
    PostAccountRequestBodyDocuments'
-> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
postAccountRequestBodyDocuments'CompanyTaxIdVerification :: (GHC.Maybe.Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification')
  }
  deriving
    ( Int -> PostAccountRequestBodyDocuments' -> ShowS
[PostAccountRequestBodyDocuments'] -> ShowS
PostAccountRequestBodyDocuments' -> String
(Int -> PostAccountRequestBodyDocuments' -> ShowS)
-> (PostAccountRequestBodyDocuments' -> String)
-> ([PostAccountRequestBodyDocuments'] -> ShowS)
-> Show PostAccountRequestBodyDocuments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyDocuments'] -> ShowS
$cshowList :: [PostAccountRequestBodyDocuments'] -> ShowS
show :: PostAccountRequestBodyDocuments' -> String
$cshow :: PostAccountRequestBodyDocuments' -> String
showsPrec :: Int -> PostAccountRequestBodyDocuments' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyDocuments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyDocuments'
-> PostAccountRequestBodyDocuments' -> Bool
(PostAccountRequestBodyDocuments'
 -> PostAccountRequestBodyDocuments' -> Bool)
-> (PostAccountRequestBodyDocuments'
    -> PostAccountRequestBodyDocuments' -> Bool)
-> Eq PostAccountRequestBodyDocuments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyDocuments'
-> PostAccountRequestBodyDocuments' -> Bool
$c/= :: PostAccountRequestBodyDocuments'
-> PostAccountRequestBodyDocuments' -> Bool
== :: PostAccountRequestBodyDocuments'
-> PostAccountRequestBodyDocuments' -> Bool
$c== :: PostAccountRequestBodyDocuments'
-> PostAccountRequestBodyDocuments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyDocuments' where
  toJSON :: PostAccountRequestBodyDocuments' -> Value
toJSON PostAccountRequestBodyDocuments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"bank_account_ownership_verification" Text
-> Maybe
     PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'
-> Maybe
     PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
postAccountRequestBodyDocuments'BankAccountOwnershipVerification PostAccountRequestBodyDocuments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"company_license" Text
-> Maybe PostAccountRequestBodyDocuments'CompanyLicense' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'
-> Maybe PostAccountRequestBodyDocuments'CompanyLicense'
postAccountRequestBodyDocuments'CompanyLicense PostAccountRequestBodyDocuments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"company_memorandum_of_association" Text
-> Maybe
     PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'
-> Maybe
     PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
postAccountRequestBodyDocuments'CompanyMemorandumOfAssociation PostAccountRequestBodyDocuments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"company_ministerial_decree" Text
-> Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'
-> Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
postAccountRequestBodyDocuments'CompanyMinisterialDecree PostAccountRequestBodyDocuments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"company_registration_verification" Text
-> Maybe
     PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'
-> Maybe
     PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
postAccountRequestBodyDocuments'CompanyRegistrationVerification PostAccountRequestBodyDocuments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"company_tax_id_verification" Text
-> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'
-> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
postAccountRequestBodyDocuments'CompanyTaxIdVerification PostAccountRequestBodyDocuments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyDocuments' -> Encoding
toEncoding PostAccountRequestBodyDocuments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"bank_account_ownership_verification" Text
-> Maybe
     PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'
-> Maybe
     PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
postAccountRequestBodyDocuments'BankAccountOwnershipVerification PostAccountRequestBodyDocuments'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"company_license" Text
-> Maybe PostAccountRequestBodyDocuments'CompanyLicense' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'
-> Maybe PostAccountRequestBodyDocuments'CompanyLicense'
postAccountRequestBodyDocuments'CompanyLicense PostAccountRequestBodyDocuments'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"company_memorandum_of_association" Text
-> Maybe
     PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'
-> Maybe
     PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
postAccountRequestBodyDocuments'CompanyMemorandumOfAssociation PostAccountRequestBodyDocuments'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"company_ministerial_decree" Text
-> Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'
-> Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
postAccountRequestBodyDocuments'CompanyMinisterialDecree PostAccountRequestBodyDocuments'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"company_registration_verification" Text
-> Maybe
     PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'
-> Maybe
     PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
postAccountRequestBodyDocuments'CompanyRegistrationVerification PostAccountRequestBodyDocuments'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"company_tax_id_verification" Text
-> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'
-> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
postAccountRequestBodyDocuments'CompanyTaxIdVerification PostAccountRequestBodyDocuments'
obj))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyDocuments' where
  parseJSON :: Value -> Parser PostAccountRequestBodyDocuments'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodyDocuments')
-> Value
-> Parser PostAccountRequestBodyDocuments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyDocuments'" (\Object
obj -> ((((((Maybe
   PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
 -> Maybe PostAccountRequestBodyDocuments'CompanyLicense'
 -> Maybe
      PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
 -> Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
 -> Maybe
      PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
 -> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
 -> PostAccountRequestBodyDocuments')
-> Parser
     (Maybe
        PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
      -> Maybe PostAccountRequestBodyDocuments'CompanyLicense'
      -> Maybe
           PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
      -> Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
      -> Maybe
           PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
      -> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
      -> PostAccountRequestBodyDocuments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe
  PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> Maybe PostAccountRequestBodyDocuments'CompanyLicense'
-> Maybe
     PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> Maybe
     PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> PostAccountRequestBodyDocuments'
PostAccountRequestBodyDocuments' Parser
  (Maybe
     PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
   -> Maybe PostAccountRequestBodyDocuments'CompanyLicense'
   -> Maybe
        PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
   -> Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
   -> Maybe
        PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
   -> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
   -> PostAccountRequestBodyDocuments')
-> Parser
     (Maybe
        PostAccountRequestBodyDocuments'BankAccountOwnershipVerification')
-> Parser
     (Maybe PostAccountRequestBodyDocuments'CompanyLicense'
      -> Maybe
           PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
      -> Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
      -> Maybe
           PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
      -> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
      -> PostAccountRequestBodyDocuments')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostAccountRequestBodyDocuments'BankAccountOwnershipVerification')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"bank_account_ownership_verification")) Parser
  (Maybe PostAccountRequestBodyDocuments'CompanyLicense'
   -> Maybe
        PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
   -> Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
   -> Maybe
        PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
   -> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
   -> PostAccountRequestBodyDocuments')
-> Parser (Maybe PostAccountRequestBodyDocuments'CompanyLicense')
-> Parser
     (Maybe
        PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
      -> Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
      -> Maybe
           PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
      -> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
      -> PostAccountRequestBodyDocuments')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyDocuments'CompanyLicense')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"company_license")) Parser
  (Maybe
     PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
   -> Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
   -> Maybe
        PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
   -> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
   -> PostAccountRequestBodyDocuments')
-> Parser
     (Maybe
        PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation')
-> Parser
     (Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
      -> Maybe
           PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
      -> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
      -> PostAccountRequestBodyDocuments')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"company_memorandum_of_association")) Parser
  (Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
   -> Maybe
        PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
   -> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
   -> PostAccountRequestBodyDocuments')
-> Parser
     (Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree')
-> Parser
     (Maybe
        PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
      -> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
      -> PostAccountRequestBodyDocuments')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"company_ministerial_decree")) Parser
  (Maybe
     PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
   -> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
   -> PostAccountRequestBodyDocuments')
-> Parser
     (Maybe
        PostAccountRequestBodyDocuments'CompanyRegistrationVerification')
-> Parser
     (Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
      -> PostAccountRequestBodyDocuments')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostAccountRequestBodyDocuments'CompanyRegistrationVerification')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"company_registration_verification")) Parser
  (Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
   -> PostAccountRequestBodyDocuments')
-> Parser
     (Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification')
-> Parser PostAccountRequestBodyDocuments'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"company_tax_id_verification"))

-- | Create a new 'PostAccountRequestBodyDocuments'' with all required fields.
mkPostAccountRequestBodyDocuments' :: PostAccountRequestBodyDocuments'
mkPostAccountRequestBodyDocuments' :: PostAccountRequestBodyDocuments'
mkPostAccountRequestBodyDocuments' =
  PostAccountRequestBodyDocuments' :: Maybe
  PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> Maybe PostAccountRequestBodyDocuments'CompanyLicense'
-> Maybe
     PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> Maybe
     PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> PostAccountRequestBodyDocuments'
PostAccountRequestBodyDocuments'
    { postAccountRequestBodyDocuments'BankAccountOwnershipVerification :: Maybe
  PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
postAccountRequestBodyDocuments'BankAccountOwnershipVerification = Maybe
  PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyDocuments'CompanyLicense :: Maybe PostAccountRequestBodyDocuments'CompanyLicense'
postAccountRequestBodyDocuments'CompanyLicense = Maybe PostAccountRequestBodyDocuments'CompanyLicense'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyDocuments'CompanyMemorandumOfAssociation :: Maybe
  PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
postAccountRequestBodyDocuments'CompanyMemorandumOfAssociation = Maybe
  PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyDocuments'CompanyMinisterialDecree :: Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
postAccountRequestBodyDocuments'CompanyMinisterialDecree = Maybe PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyDocuments'CompanyRegistrationVerification :: Maybe
  PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
postAccountRequestBodyDocuments'CompanyRegistrationVerification = Maybe
  PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyDocuments'CompanyTaxIdVerification :: Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
postAccountRequestBodyDocuments'CompanyTaxIdVerification = Maybe PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.bank_account_ownership_verification@ in the specification.
data PostAccountRequestBodyDocuments'BankAccountOwnershipVerification' = PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
  { -- | files
    PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> Maybe [Text]
postAccountRequestBodyDocuments'BankAccountOwnershipVerification'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text]))
  }
  deriving
    ( Int
-> PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> ShowS
[PostAccountRequestBodyDocuments'BankAccountOwnershipVerification']
-> ShowS
PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> String
(Int
 -> PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
 -> ShowS)
-> (PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
    -> String)
-> ([PostAccountRequestBodyDocuments'BankAccountOwnershipVerification']
    -> ShowS)
-> Show
     PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyDocuments'BankAccountOwnershipVerification']
-> ShowS
$cshowList :: [PostAccountRequestBodyDocuments'BankAccountOwnershipVerification']
-> ShowS
show :: PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> String
$cshow :: PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> String
showsPrec :: Int
-> PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> ShowS
GHC.Show.Show,
      PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> Bool
(PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
 -> PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
 -> Bool)
-> (PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
    -> PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
    -> Bool)
-> Eq
     PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> Bool
$c/= :: PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> Bool
== :: PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> Bool
$c== :: PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyDocuments'BankAccountOwnershipVerification' where
  toJSON :: PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> Value
toJSON PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"files" Text -> Maybe [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> Maybe [Text]
postAccountRequestBodyDocuments'BankAccountOwnershipVerification'Files PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> Encoding
toEncoding PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"files" Text -> Maybe [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
-> Maybe [Text]
postAccountRequestBodyDocuments'BankAccountOwnershipVerification'Files PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyDocuments'BankAccountOwnershipVerification' where
  parseJSON :: Value
-> Parser
     PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
parseJSON = String
-> (Object
    -> Parser
         PostAccountRequestBodyDocuments'BankAccountOwnershipVerification')
-> Value
-> Parser
     PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'" (\Object
obj -> (Maybe [Text]
 -> PostAccountRequestBodyDocuments'BankAccountOwnershipVerification')
-> Parser
     (Maybe [Text]
      -> PostAccountRequestBodyDocuments'BankAccountOwnershipVerification')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe [Text]
-> PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
PostAccountRequestBodyDocuments'BankAccountOwnershipVerification' Parser
  (Maybe [Text]
   -> PostAccountRequestBodyDocuments'BankAccountOwnershipVerification')
-> Parser (Maybe [Text])
-> Parser
     PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
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
"files"))

-- | Create a new 'PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'' with all required fields.
mkPostAccountRequestBodyDocuments'BankAccountOwnershipVerification' :: PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
mkPostAccountRequestBodyDocuments'BankAccountOwnershipVerification' :: PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
mkPostAccountRequestBodyDocuments'BankAccountOwnershipVerification' = PostAccountRequestBodyDocuments'BankAccountOwnershipVerification' :: Maybe [Text]
-> PostAccountRequestBodyDocuments'BankAccountOwnershipVerification'
PostAccountRequestBodyDocuments'BankAccountOwnershipVerification' {postAccountRequestBodyDocuments'BankAccountOwnershipVerification'Files :: Maybe [Text]
postAccountRequestBodyDocuments'BankAccountOwnershipVerification'Files = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.company_license@ in the specification.
data PostAccountRequestBodyDocuments'CompanyLicense' = PostAccountRequestBodyDocuments'CompanyLicense'
  { -- | files
    PostAccountRequestBodyDocuments'CompanyLicense' -> Maybe [Text]
postAccountRequestBodyDocuments'CompanyLicense'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text]))
  }
  deriving
    ( Int -> PostAccountRequestBodyDocuments'CompanyLicense' -> ShowS
[PostAccountRequestBodyDocuments'CompanyLicense'] -> ShowS
PostAccountRequestBodyDocuments'CompanyLicense' -> String
(Int -> PostAccountRequestBodyDocuments'CompanyLicense' -> ShowS)
-> (PostAccountRequestBodyDocuments'CompanyLicense' -> String)
-> ([PostAccountRequestBodyDocuments'CompanyLicense'] -> ShowS)
-> Show PostAccountRequestBodyDocuments'CompanyLicense'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyDocuments'CompanyLicense'] -> ShowS
$cshowList :: [PostAccountRequestBodyDocuments'CompanyLicense'] -> ShowS
show :: PostAccountRequestBodyDocuments'CompanyLicense' -> String
$cshow :: PostAccountRequestBodyDocuments'CompanyLicense' -> String
showsPrec :: Int -> PostAccountRequestBodyDocuments'CompanyLicense' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyDocuments'CompanyLicense' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyDocuments'CompanyLicense'
-> PostAccountRequestBodyDocuments'CompanyLicense' -> Bool
(PostAccountRequestBodyDocuments'CompanyLicense'
 -> PostAccountRequestBodyDocuments'CompanyLicense' -> Bool)
-> (PostAccountRequestBodyDocuments'CompanyLicense'
    -> PostAccountRequestBodyDocuments'CompanyLicense' -> Bool)
-> Eq PostAccountRequestBodyDocuments'CompanyLicense'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyDocuments'CompanyLicense'
-> PostAccountRequestBodyDocuments'CompanyLicense' -> Bool
$c/= :: PostAccountRequestBodyDocuments'CompanyLicense'
-> PostAccountRequestBodyDocuments'CompanyLicense' -> Bool
== :: PostAccountRequestBodyDocuments'CompanyLicense'
-> PostAccountRequestBodyDocuments'CompanyLicense' -> Bool
$c== :: PostAccountRequestBodyDocuments'CompanyLicense'
-> PostAccountRequestBodyDocuments'CompanyLicense' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyDocuments'CompanyLicense' where
  toJSON :: PostAccountRequestBodyDocuments'CompanyLicense' -> Value
toJSON PostAccountRequestBodyDocuments'CompanyLicense'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"files" Text -> Maybe [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'CompanyLicense' -> Maybe [Text]
postAccountRequestBodyDocuments'CompanyLicense'Files PostAccountRequestBodyDocuments'CompanyLicense'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyDocuments'CompanyLicense' -> Encoding
toEncoding PostAccountRequestBodyDocuments'CompanyLicense'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"files" Text -> Maybe [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'CompanyLicense' -> Maybe [Text]
postAccountRequestBodyDocuments'CompanyLicense'Files PostAccountRequestBodyDocuments'CompanyLicense'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyDocuments'CompanyLicense' where
  parseJSON :: Value -> Parser PostAccountRequestBodyDocuments'CompanyLicense'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyDocuments'CompanyLicense')
-> Value
-> Parser PostAccountRequestBodyDocuments'CompanyLicense'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyDocuments'CompanyLicense'" (\Object
obj -> (Maybe [Text] -> PostAccountRequestBodyDocuments'CompanyLicense')
-> Parser
     (Maybe [Text] -> PostAccountRequestBodyDocuments'CompanyLicense')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe [Text] -> PostAccountRequestBodyDocuments'CompanyLicense'
PostAccountRequestBodyDocuments'CompanyLicense' Parser
  (Maybe [Text] -> PostAccountRequestBodyDocuments'CompanyLicense')
-> Parser (Maybe [Text])
-> Parser PostAccountRequestBodyDocuments'CompanyLicense'
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
"files"))

-- | Create a new 'PostAccountRequestBodyDocuments'CompanyLicense'' with all required fields.
mkPostAccountRequestBodyDocuments'CompanyLicense' :: PostAccountRequestBodyDocuments'CompanyLicense'
mkPostAccountRequestBodyDocuments'CompanyLicense' :: PostAccountRequestBodyDocuments'CompanyLicense'
mkPostAccountRequestBodyDocuments'CompanyLicense' = PostAccountRequestBodyDocuments'CompanyLicense' :: Maybe [Text] -> PostAccountRequestBodyDocuments'CompanyLicense'
PostAccountRequestBodyDocuments'CompanyLicense' {postAccountRequestBodyDocuments'CompanyLicense'Files :: Maybe [Text]
postAccountRequestBodyDocuments'CompanyLicense'Files = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.company_memorandum_of_association@ in the specification.
data PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation' = PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
  { -- | files
    PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> Maybe [Text]
postAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text]))
  }
  deriving
    ( Int
-> PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> ShowS
[PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation']
-> ShowS
PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> String
(Int
 -> PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
 -> ShowS)
-> (PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
    -> String)
-> ([PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation']
    -> ShowS)
-> Show
     PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation']
-> ShowS
$cshowList :: [PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation']
-> ShowS
show :: PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> String
$cshow :: PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> String
showsPrec :: Int
-> PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> ShowS
GHC.Show.Show,
      PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> Bool
(PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
 -> PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
 -> Bool)
-> (PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
    -> PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
    -> Bool)
-> Eq
     PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> Bool
$c/= :: PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> Bool
== :: PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> Bool
$c== :: PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation' where
  toJSON :: PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> Value
toJSON PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"files" Text -> Maybe [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> Maybe [Text]
postAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'Files PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> Encoding
toEncoding PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"files" Text -> Maybe [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
-> Maybe [Text]
postAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'Files PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation' where
  parseJSON :: Value
-> Parser
     PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
parseJSON = String
-> (Object
    -> Parser
         PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation')
-> Value
-> Parser
     PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'" (\Object
obj -> (Maybe [Text]
 -> PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation')
-> Parser
     (Maybe [Text]
      -> PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe [Text]
-> PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation' Parser
  (Maybe [Text]
   -> PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation')
-> Parser (Maybe [Text])
-> Parser
     PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
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
"files"))

-- | Create a new 'PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'' with all required fields.
mkPostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation' :: PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
mkPostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation' :: PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
mkPostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation' = PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation' :: Maybe [Text]
-> PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'
PostAccountRequestBodyDocuments'CompanyMemorandumOfAssociation' {postAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'Files :: Maybe [Text]
postAccountRequestBodyDocuments'CompanyMemorandumOfAssociation'Files = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.company_ministerial_decree@ in the specification.
data PostAccountRequestBodyDocuments'CompanyMinisterialDecree' = PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
  { -- | files
    PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> Maybe [Text]
postAccountRequestBodyDocuments'CompanyMinisterialDecree'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text]))
  }
  deriving
    ( Int
-> PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> ShowS
[PostAccountRequestBodyDocuments'CompanyMinisterialDecree']
-> ShowS
PostAccountRequestBodyDocuments'CompanyMinisterialDecree' -> String
(Int
 -> PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
 -> ShowS)
-> (PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
    -> String)
-> ([PostAccountRequestBodyDocuments'CompanyMinisterialDecree']
    -> ShowS)
-> Show PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyDocuments'CompanyMinisterialDecree']
-> ShowS
$cshowList :: [PostAccountRequestBodyDocuments'CompanyMinisterialDecree']
-> ShowS
show :: PostAccountRequestBodyDocuments'CompanyMinisterialDecree' -> String
$cshow :: PostAccountRequestBodyDocuments'CompanyMinisterialDecree' -> String
showsPrec :: Int
-> PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> ShowS
GHC.Show.Show,
      PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> Bool
(PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
 -> PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
 -> Bool)
-> (PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
    -> PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
    -> Bool)
-> Eq PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> Bool
$c/= :: PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> Bool
== :: PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> Bool
$c== :: PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyDocuments'CompanyMinisterialDecree' where
  toJSON :: PostAccountRequestBodyDocuments'CompanyMinisterialDecree' -> Value
toJSON PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"files" Text -> Maybe [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> Maybe [Text]
postAccountRequestBodyDocuments'CompanyMinisterialDecree'Files PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> Encoding
toEncoding PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"files" Text -> Maybe [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
-> Maybe [Text]
postAccountRequestBodyDocuments'CompanyMinisterialDecree'Files PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyDocuments'CompanyMinisterialDecree' where
  parseJSON :: Value
-> Parser PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
parseJSON = String
-> (Object
    -> Parser
         PostAccountRequestBodyDocuments'CompanyMinisterialDecree')
-> Value
-> Parser PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyDocuments'CompanyMinisterialDecree'" (\Object
obj -> (Maybe [Text]
 -> PostAccountRequestBodyDocuments'CompanyMinisterialDecree')
-> Parser
     (Maybe [Text]
      -> PostAccountRequestBodyDocuments'CompanyMinisterialDecree')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe [Text]
-> PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
PostAccountRequestBodyDocuments'CompanyMinisterialDecree' Parser
  (Maybe [Text]
   -> PostAccountRequestBodyDocuments'CompanyMinisterialDecree')
-> Parser (Maybe [Text])
-> Parser PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
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
"files"))

-- | Create a new 'PostAccountRequestBodyDocuments'CompanyMinisterialDecree'' with all required fields.
mkPostAccountRequestBodyDocuments'CompanyMinisterialDecree' :: PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
mkPostAccountRequestBodyDocuments'CompanyMinisterialDecree' :: PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
mkPostAccountRequestBodyDocuments'CompanyMinisterialDecree' = PostAccountRequestBodyDocuments'CompanyMinisterialDecree' :: Maybe [Text]
-> PostAccountRequestBodyDocuments'CompanyMinisterialDecree'
PostAccountRequestBodyDocuments'CompanyMinisterialDecree' {postAccountRequestBodyDocuments'CompanyMinisterialDecree'Files :: Maybe [Text]
postAccountRequestBodyDocuments'CompanyMinisterialDecree'Files = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.company_registration_verification@ in the specification.
data PostAccountRequestBodyDocuments'CompanyRegistrationVerification' = PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
  { -- | files
    PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> Maybe [Text]
postAccountRequestBodyDocuments'CompanyRegistrationVerification'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text]))
  }
  deriving
    ( Int
-> PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> ShowS
[PostAccountRequestBodyDocuments'CompanyRegistrationVerification']
-> ShowS
PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> String
(Int
 -> PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
 -> ShowS)
-> (PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
    -> String)
-> ([PostAccountRequestBodyDocuments'CompanyRegistrationVerification']
    -> ShowS)
-> Show
     PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyDocuments'CompanyRegistrationVerification']
-> ShowS
$cshowList :: [PostAccountRequestBodyDocuments'CompanyRegistrationVerification']
-> ShowS
show :: PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> String
$cshow :: PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> String
showsPrec :: Int
-> PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> ShowS
GHC.Show.Show,
      PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> Bool
(PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
 -> PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
 -> Bool)
-> (PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
    -> PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
    -> Bool)
-> Eq
     PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> Bool
$c/= :: PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> Bool
== :: PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> Bool
$c== :: PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyDocuments'CompanyRegistrationVerification' where
  toJSON :: PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> Value
toJSON PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"files" Text -> Maybe [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> Maybe [Text]
postAccountRequestBodyDocuments'CompanyRegistrationVerification'Files PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> Encoding
toEncoding PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"files" Text -> Maybe [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
-> Maybe [Text]
postAccountRequestBodyDocuments'CompanyRegistrationVerification'Files PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyDocuments'CompanyRegistrationVerification' where
  parseJSON :: Value
-> Parser
     PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
parseJSON = String
-> (Object
    -> Parser
         PostAccountRequestBodyDocuments'CompanyRegistrationVerification')
-> Value
-> Parser
     PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyDocuments'CompanyRegistrationVerification'" (\Object
obj -> (Maybe [Text]
 -> PostAccountRequestBodyDocuments'CompanyRegistrationVerification')
-> Parser
     (Maybe [Text]
      -> PostAccountRequestBodyDocuments'CompanyRegistrationVerification')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe [Text]
-> PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
PostAccountRequestBodyDocuments'CompanyRegistrationVerification' Parser
  (Maybe [Text]
   -> PostAccountRequestBodyDocuments'CompanyRegistrationVerification')
-> Parser (Maybe [Text])
-> Parser
     PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
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
"files"))

-- | Create a new 'PostAccountRequestBodyDocuments'CompanyRegistrationVerification'' with all required fields.
mkPostAccountRequestBodyDocuments'CompanyRegistrationVerification' :: PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
mkPostAccountRequestBodyDocuments'CompanyRegistrationVerification' :: PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
mkPostAccountRequestBodyDocuments'CompanyRegistrationVerification' = PostAccountRequestBodyDocuments'CompanyRegistrationVerification' :: Maybe [Text]
-> PostAccountRequestBodyDocuments'CompanyRegistrationVerification'
PostAccountRequestBodyDocuments'CompanyRegistrationVerification' {postAccountRequestBodyDocuments'CompanyRegistrationVerification'Files :: Maybe [Text]
postAccountRequestBodyDocuments'CompanyRegistrationVerification'Files = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.company_tax_id_verification@ in the specification.
data PostAccountRequestBodyDocuments'CompanyTaxIdVerification' = PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
  { -- | files
    PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> Maybe [Text]
postAccountRequestBodyDocuments'CompanyTaxIdVerification'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text]))
  }
  deriving
    ( Int
-> PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> ShowS
[PostAccountRequestBodyDocuments'CompanyTaxIdVerification']
-> ShowS
PostAccountRequestBodyDocuments'CompanyTaxIdVerification' -> String
(Int
 -> PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
 -> ShowS)
-> (PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
    -> String)
-> ([PostAccountRequestBodyDocuments'CompanyTaxIdVerification']
    -> ShowS)
-> Show PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyDocuments'CompanyTaxIdVerification']
-> ShowS
$cshowList :: [PostAccountRequestBodyDocuments'CompanyTaxIdVerification']
-> ShowS
show :: PostAccountRequestBodyDocuments'CompanyTaxIdVerification' -> String
$cshow :: PostAccountRequestBodyDocuments'CompanyTaxIdVerification' -> String
showsPrec :: Int
-> PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> ShowS
GHC.Show.Show,
      PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> Bool
(PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
 -> PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
 -> Bool)
-> (PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
    -> PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
    -> Bool)
-> Eq PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> Bool
$c/= :: PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> Bool
== :: PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> Bool
$c== :: PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyDocuments'CompanyTaxIdVerification' where
  toJSON :: PostAccountRequestBodyDocuments'CompanyTaxIdVerification' -> Value
toJSON PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"files" Text -> Maybe [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> Maybe [Text]
postAccountRequestBodyDocuments'CompanyTaxIdVerification'Files PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> Encoding
toEncoding PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"files" Text -> Maybe [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
-> Maybe [Text]
postAccountRequestBodyDocuments'CompanyTaxIdVerification'Files PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyDocuments'CompanyTaxIdVerification' where
  parseJSON :: Value
-> Parser PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
parseJSON = String
-> (Object
    -> Parser
         PostAccountRequestBodyDocuments'CompanyTaxIdVerification')
-> Value
-> Parser PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyDocuments'CompanyTaxIdVerification'" (\Object
obj -> (Maybe [Text]
 -> PostAccountRequestBodyDocuments'CompanyTaxIdVerification')
-> Parser
     (Maybe [Text]
      -> PostAccountRequestBodyDocuments'CompanyTaxIdVerification')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe [Text]
-> PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
PostAccountRequestBodyDocuments'CompanyTaxIdVerification' Parser
  (Maybe [Text]
   -> PostAccountRequestBodyDocuments'CompanyTaxIdVerification')
-> Parser (Maybe [Text])
-> Parser PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
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
"files"))

-- | Create a new 'PostAccountRequestBodyDocuments'CompanyTaxIdVerification'' with all required fields.
mkPostAccountRequestBodyDocuments'CompanyTaxIdVerification' :: PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
mkPostAccountRequestBodyDocuments'CompanyTaxIdVerification' :: PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
mkPostAccountRequestBodyDocuments'CompanyTaxIdVerification' = PostAccountRequestBodyDocuments'CompanyTaxIdVerification' :: Maybe [Text]
-> PostAccountRequestBodyDocuments'CompanyTaxIdVerification'
PostAccountRequestBodyDocuments'CompanyTaxIdVerification' {postAccountRequestBodyDocuments'CompanyTaxIdVerification'Files :: Maybe [Text]
postAccountRequestBodyDocuments'CompanyTaxIdVerification'Files = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.individual@ in the specification.
--
-- Information about the person represented by the account. This field is null unless \`business_type\` is set to \`individual\`.
data PostAccountRequestBodyIndividual' = PostAccountRequestBodyIndividual'
  { -- | address
    PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'Address'
postAccountRequestBodyIndividual'Address :: (GHC.Maybe.Maybe PostAccountRequestBodyIndividual'Address'),
    -- | address_kana
    PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'AddressKana'
postAccountRequestBodyIndividual'AddressKana :: (GHC.Maybe.Maybe PostAccountRequestBodyIndividual'AddressKana'),
    -- | address_kanji
    PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'AddressKanji'
postAccountRequestBodyIndividual'AddressKanji :: (GHC.Maybe.Maybe PostAccountRequestBodyIndividual'AddressKanji'),
    -- | dob
    PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'Dob'Variants
postAccountRequestBodyIndividual'Dob :: (GHC.Maybe.Maybe PostAccountRequestBodyIndividual'Dob'Variants),
    -- | email
    PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'Email :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | first_name
    --
    -- Constraints:
    --
    -- * Maximum length of 100
    PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'FirstName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | first_name_kana
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'FirstNameKana :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | first_name_kanji
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'FirstNameKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | gender
    PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'Gender :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | id_number
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'IdNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | last_name
    --
    -- Constraints:
    --
    -- * Maximum length of 100
    PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'LastName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | last_name_kana
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'LastNameKana :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | last_name_kanji
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'LastNameKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | maiden_name
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'MaidenName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | metadata
    PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
postAccountRequestBodyIndividual'Metadata :: (GHC.Maybe.Maybe PostAccountRequestBodyIndividual'Metadata'Variants),
    -- | phone
    PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'Phone :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | political_exposure
    PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
postAccountRequestBodyIndividual'PoliticalExposure :: (GHC.Maybe.Maybe PostAccountRequestBodyIndividual'PoliticalExposure'),
    -- | ssn_last_4
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'SsnLast_4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | verification
    PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'Verification'
postAccountRequestBodyIndividual'Verification :: (GHC.Maybe.Maybe PostAccountRequestBodyIndividual'Verification')
  }
  deriving
    ( Int -> PostAccountRequestBodyIndividual' -> ShowS
[PostAccountRequestBodyIndividual'] -> ShowS
PostAccountRequestBodyIndividual' -> String
(Int -> PostAccountRequestBodyIndividual' -> ShowS)
-> (PostAccountRequestBodyIndividual' -> String)
-> ([PostAccountRequestBodyIndividual'] -> ShowS)
-> Show PostAccountRequestBodyIndividual'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyIndividual'] -> ShowS
$cshowList :: [PostAccountRequestBodyIndividual'] -> ShowS
show :: PostAccountRequestBodyIndividual' -> String
$cshow :: PostAccountRequestBodyIndividual' -> String
showsPrec :: Int -> PostAccountRequestBodyIndividual' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyIndividual' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyIndividual'
-> PostAccountRequestBodyIndividual' -> Bool
(PostAccountRequestBodyIndividual'
 -> PostAccountRequestBodyIndividual' -> Bool)
-> (PostAccountRequestBodyIndividual'
    -> PostAccountRequestBodyIndividual' -> Bool)
-> Eq PostAccountRequestBodyIndividual'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyIndividual'
-> PostAccountRequestBodyIndividual' -> Bool
$c/= :: PostAccountRequestBodyIndividual'
-> PostAccountRequestBodyIndividual' -> Bool
== :: PostAccountRequestBodyIndividual'
-> PostAccountRequestBodyIndividual' -> Bool
$c== :: PostAccountRequestBodyIndividual'
-> PostAccountRequestBodyIndividual' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyIndividual' where
  toJSON :: PostAccountRequestBodyIndividual' -> Value
toJSON PostAccountRequestBodyIndividual'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"address" Text -> Maybe PostAccountRequestBodyIndividual'Address' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'Address'
postAccountRequestBodyIndividual'Address PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"address_kana" Text -> Maybe PostAccountRequestBodyIndividual'AddressKana' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'AddressKana'
postAccountRequestBodyIndividual'AddressKana PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"address_kanji" Text
-> Maybe PostAccountRequestBodyIndividual'AddressKanji' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'AddressKanji'
postAccountRequestBodyIndividual'AddressKanji PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"dob" Text -> Maybe PostAccountRequestBodyIndividual'Dob'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'Dob'Variants
postAccountRequestBodyIndividual'Dob PostAccountRequestBodyIndividual'
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..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'Email PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"first_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'FirstName PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"first_name_kana" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'FirstNameKana PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"first_name_kanji" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'FirstNameKanji PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"gender" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'Gender PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"id_number" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'IdNumber PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"last_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'LastName PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"last_name_kana" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'LastNameKana PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"last_name_kanji" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'LastNameKanji PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"maiden_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'MaidenName PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"metadata" Text
-> Maybe PostAccountRequestBodyIndividual'Metadata'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
postAccountRequestBodyIndividual'Metadata PostAccountRequestBodyIndividual'
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..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'Phone PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"political_exposure" Text
-> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
postAccountRequestBodyIndividual'PoliticalExposure PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"ssn_last_4" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'SsnLast_4 PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"verification" Text
-> Maybe PostAccountRequestBodyIndividual'Verification' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'Verification'
postAccountRequestBodyIndividual'Verification PostAccountRequestBodyIndividual'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyIndividual' -> Encoding
toEncoding PostAccountRequestBodyIndividual'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"address" Text -> Maybe PostAccountRequestBodyIndividual'Address' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'Address'
postAccountRequestBodyIndividual'Address PostAccountRequestBodyIndividual'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"address_kana" Text
-> Maybe PostAccountRequestBodyIndividual'AddressKana' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'AddressKana'
postAccountRequestBodyIndividual'AddressKana PostAccountRequestBodyIndividual'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"address_kanji" Text
-> Maybe PostAccountRequestBodyIndividual'AddressKanji' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'AddressKanji'
postAccountRequestBodyIndividual'AddressKanji PostAccountRequestBodyIndividual'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"dob" Text
-> Maybe PostAccountRequestBodyIndividual'Dob'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'Dob'Variants
postAccountRequestBodyIndividual'Dob PostAccountRequestBodyIndividual'
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..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'Email PostAccountRequestBodyIndividual'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"first_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'FirstName PostAccountRequestBodyIndividual'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"first_name_kana" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'FirstNameKana PostAccountRequestBodyIndividual'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"first_name_kanji" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'FirstNameKanji PostAccountRequestBodyIndividual'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"gender" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'Gender PostAccountRequestBodyIndividual'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"id_number" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'IdNumber PostAccountRequestBodyIndividual'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"last_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'LastName PostAccountRequestBodyIndividual'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"last_name_kana" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'LastNameKana PostAccountRequestBodyIndividual'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"last_name_kanji" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'LastNameKanji PostAccountRequestBodyIndividual'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"maiden_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'MaidenName PostAccountRequestBodyIndividual'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"metadata" Text
-> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
postAccountRequestBodyIndividual'Metadata PostAccountRequestBodyIndividual'
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..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'Phone PostAccountRequestBodyIndividual'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"political_exposure" Text
-> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
postAccountRequestBodyIndividual'PoliticalExposure PostAccountRequestBodyIndividual'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"ssn_last_4" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual' -> Maybe Text
postAccountRequestBodyIndividual'SsnLast_4 PostAccountRequestBodyIndividual'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"verification" Text
-> Maybe PostAccountRequestBodyIndividual'Verification' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'
-> Maybe PostAccountRequestBodyIndividual'Verification'
postAccountRequestBodyIndividual'Verification PostAccountRequestBodyIndividual'
obj)))))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyIndividual' where
  parseJSON :: Value -> Parser PostAccountRequestBodyIndividual'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodyIndividual')
-> Value
-> Parser PostAccountRequestBodyIndividual'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyIndividual'" (\Object
obj -> (((((((((((((((((((Maybe PostAccountRequestBodyIndividual'Address'
 -> Maybe PostAccountRequestBodyIndividual'AddressKana'
 -> Maybe PostAccountRequestBodyIndividual'AddressKanji'
 -> Maybe PostAccountRequestBodyIndividual'Dob'Variants
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
 -> Maybe Text
 -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
 -> Maybe Text
 -> Maybe PostAccountRequestBodyIndividual'Verification'
 -> PostAccountRequestBodyIndividual')
-> Parser
     (Maybe PostAccountRequestBodyIndividual'Address'
      -> Maybe PostAccountRequestBodyIndividual'AddressKana'
      -> Maybe PostAccountRequestBodyIndividual'AddressKanji'
      -> Maybe PostAccountRequestBodyIndividual'Dob'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe PostAccountRequestBodyIndividual'Address'
-> Maybe PostAccountRequestBodyIndividual'AddressKana'
-> Maybe PostAccountRequestBodyIndividual'AddressKanji'
-> Maybe PostAccountRequestBodyIndividual'Dob'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
-> Maybe Text
-> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
-> Maybe Text
-> Maybe PostAccountRequestBodyIndividual'Verification'
-> PostAccountRequestBodyIndividual'
PostAccountRequestBodyIndividual' Parser
  (Maybe PostAccountRequestBodyIndividual'Address'
   -> Maybe PostAccountRequestBodyIndividual'AddressKana'
   -> Maybe PostAccountRequestBodyIndividual'AddressKanji'
   -> Maybe PostAccountRequestBodyIndividual'Dob'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe PostAccountRequestBodyIndividual'Address')
-> Parser
     (Maybe PostAccountRequestBodyIndividual'AddressKana'
      -> Maybe PostAccountRequestBodyIndividual'AddressKanji'
      -> Maybe PostAccountRequestBodyIndividual'Dob'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe PostAccountRequestBodyIndividual'Address')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address")) Parser
  (Maybe PostAccountRequestBodyIndividual'AddressKana'
   -> Maybe PostAccountRequestBodyIndividual'AddressKanji'
   -> Maybe PostAccountRequestBodyIndividual'Dob'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe PostAccountRequestBodyIndividual'AddressKana')
-> Parser
     (Maybe PostAccountRequestBodyIndividual'AddressKanji'
      -> Maybe PostAccountRequestBodyIndividual'Dob'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyIndividual'AddressKana')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address_kana")) Parser
  (Maybe PostAccountRequestBodyIndividual'AddressKanji'
   -> Maybe PostAccountRequestBodyIndividual'Dob'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe PostAccountRequestBodyIndividual'AddressKanji')
-> Parser
     (Maybe PostAccountRequestBodyIndividual'Dob'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyIndividual'AddressKanji')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address_kanji")) Parser
  (Maybe PostAccountRequestBodyIndividual'Dob'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe PostAccountRequestBodyIndividual'Dob'Variants)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyIndividual'Dob'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"dob")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
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 Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
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
"first_name")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
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
"first_name_kana")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
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
"first_name_kanji")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
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
"gender")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
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
"id_number")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
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
"last_name")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
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
"last_name_kana")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
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
"last_name_kanji")) Parser
  (Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe Text)
-> Parser
     (Maybe PostAccountRequestBodyIndividual'Metadata'Variants
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
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
"maiden_name")) Parser
  (Maybe PostAccountRequestBodyIndividual'Metadata'Variants
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser
     (Maybe PostAccountRequestBodyIndividual'Metadata'Variants)
-> Parser
     (Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyIndividual'Metadata'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"metadata")) Parser
  (Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe Text)
-> Parser
     (Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
      -> Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
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 PostAccountRequestBodyIndividual'PoliticalExposure'
   -> Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser
     (Maybe PostAccountRequestBodyIndividual'PoliticalExposure')
-> Parser
     (Maybe Text
      -> Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyIndividual'PoliticalExposure')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"political_exposure")) Parser
  (Maybe Text
   -> Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe Text)
-> Parser
     (Maybe PostAccountRequestBodyIndividual'Verification'
      -> PostAccountRequestBodyIndividual')
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
"ssn_last_4")) Parser
  (Maybe PostAccountRequestBodyIndividual'Verification'
   -> PostAccountRequestBodyIndividual')
-> Parser (Maybe PostAccountRequestBodyIndividual'Verification')
-> Parser PostAccountRequestBodyIndividual'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodyIndividual'Verification')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"verification"))

-- | Create a new 'PostAccountRequestBodyIndividual'' with all required fields.
mkPostAccountRequestBodyIndividual' :: PostAccountRequestBodyIndividual'
mkPostAccountRequestBodyIndividual' :: PostAccountRequestBodyIndividual'
mkPostAccountRequestBodyIndividual' =
  PostAccountRequestBodyIndividual' :: Maybe PostAccountRequestBodyIndividual'Address'
-> Maybe PostAccountRequestBodyIndividual'AddressKana'
-> Maybe PostAccountRequestBodyIndividual'AddressKanji'
-> Maybe PostAccountRequestBodyIndividual'Dob'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PostAccountRequestBodyIndividual'Metadata'Variants
-> Maybe Text
-> Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
-> Maybe Text
-> Maybe PostAccountRequestBodyIndividual'Verification'
-> PostAccountRequestBodyIndividual'
PostAccountRequestBodyIndividual'
    { postAccountRequestBodyIndividual'Address :: Maybe PostAccountRequestBodyIndividual'Address'
postAccountRequestBodyIndividual'Address = Maybe PostAccountRequestBodyIndividual'Address'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'AddressKana :: Maybe PostAccountRequestBodyIndividual'AddressKana'
postAccountRequestBodyIndividual'AddressKana = Maybe PostAccountRequestBodyIndividual'AddressKana'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'AddressKanji :: Maybe PostAccountRequestBodyIndividual'AddressKanji'
postAccountRequestBodyIndividual'AddressKanji = Maybe PostAccountRequestBodyIndividual'AddressKanji'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'Dob :: Maybe PostAccountRequestBodyIndividual'Dob'Variants
postAccountRequestBodyIndividual'Dob = Maybe PostAccountRequestBodyIndividual'Dob'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'Email :: Maybe Text
postAccountRequestBodyIndividual'Email = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'FirstName :: Maybe Text
postAccountRequestBodyIndividual'FirstName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'FirstNameKana :: Maybe Text
postAccountRequestBodyIndividual'FirstNameKana = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'FirstNameKanji :: Maybe Text
postAccountRequestBodyIndividual'FirstNameKanji = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'Gender :: Maybe Text
postAccountRequestBodyIndividual'Gender = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'IdNumber :: Maybe Text
postAccountRequestBodyIndividual'IdNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'LastName :: Maybe Text
postAccountRequestBodyIndividual'LastName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'LastNameKana :: Maybe Text
postAccountRequestBodyIndividual'LastNameKana = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'LastNameKanji :: Maybe Text
postAccountRequestBodyIndividual'LastNameKanji = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'MaidenName :: Maybe Text
postAccountRequestBodyIndividual'MaidenName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'Metadata :: Maybe PostAccountRequestBodyIndividual'Metadata'Variants
postAccountRequestBodyIndividual'Metadata = Maybe PostAccountRequestBodyIndividual'Metadata'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'Phone :: Maybe Text
postAccountRequestBodyIndividual'Phone = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'PoliticalExposure :: Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
postAccountRequestBodyIndividual'PoliticalExposure = Maybe PostAccountRequestBodyIndividual'PoliticalExposure'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'SsnLast_4 :: Maybe Text
postAccountRequestBodyIndividual'SsnLast_4 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'Verification :: Maybe PostAccountRequestBodyIndividual'Verification'
postAccountRequestBodyIndividual'Verification = Maybe PostAccountRequestBodyIndividual'Verification'
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.individual.properties.address@ in the specification.
data PostAccountRequestBodyIndividual'Address' = PostAccountRequestBodyIndividual'Address'
  { -- | city
    --
    -- Constraints:
    --
    -- * Maximum length of 100
    PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | country
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line1
    --
    -- Constraints:
    --
    -- * Maximum length of 200
    PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line2
    --
    -- Constraints:
    --
    -- * Maximum length of 200
    PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> PostAccountRequestBodyIndividual'Address' -> ShowS
[PostAccountRequestBodyIndividual'Address'] -> ShowS
PostAccountRequestBodyIndividual'Address' -> String
(Int -> PostAccountRequestBodyIndividual'Address' -> ShowS)
-> (PostAccountRequestBodyIndividual'Address' -> String)
-> ([PostAccountRequestBodyIndividual'Address'] -> ShowS)
-> Show PostAccountRequestBodyIndividual'Address'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyIndividual'Address'] -> ShowS
$cshowList :: [PostAccountRequestBodyIndividual'Address'] -> ShowS
show :: PostAccountRequestBodyIndividual'Address' -> String
$cshow :: PostAccountRequestBodyIndividual'Address' -> String
showsPrec :: Int -> PostAccountRequestBodyIndividual'Address' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyIndividual'Address' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyIndividual'Address'
-> PostAccountRequestBodyIndividual'Address' -> Bool
(PostAccountRequestBodyIndividual'Address'
 -> PostAccountRequestBodyIndividual'Address' -> Bool)
-> (PostAccountRequestBodyIndividual'Address'
    -> PostAccountRequestBodyIndividual'Address' -> Bool)
-> Eq PostAccountRequestBodyIndividual'Address'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyIndividual'Address'
-> PostAccountRequestBodyIndividual'Address' -> Bool
$c/= :: PostAccountRequestBodyIndividual'Address'
-> PostAccountRequestBodyIndividual'Address' -> Bool
== :: PostAccountRequestBodyIndividual'Address'
-> PostAccountRequestBodyIndividual'Address' -> Bool
$c== :: PostAccountRequestBodyIndividual'Address'
-> PostAccountRequestBodyIndividual'Address' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyIndividual'Address' where
  toJSON :: PostAccountRequestBodyIndividual'Address' -> Value
toJSON PostAccountRequestBodyIndividual'Address'
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..= PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'City PostAccountRequestBodyIndividual'Address'
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..= PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'Country PostAccountRequestBodyIndividual'Address'
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..= PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'Line1 PostAccountRequestBodyIndividual'Address'
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..= PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'Line2 PostAccountRequestBodyIndividual'Address'
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..= PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'PostalCode PostAccountRequestBodyIndividual'Address'
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..= PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'State PostAccountRequestBodyIndividual'Address'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyIndividual'Address' -> Encoding
toEncoding PostAccountRequestBodyIndividual'Address'
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..= PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'City PostAccountRequestBodyIndividual'Address'
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..= PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'Country PostAccountRequestBodyIndividual'Address'
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..= PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'Line1 PostAccountRequestBodyIndividual'Address'
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..= PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'Line2 PostAccountRequestBodyIndividual'Address'
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..= PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'PostalCode PostAccountRequestBodyIndividual'Address'
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..= PostAccountRequestBodyIndividual'Address' -> Maybe Text
postAccountRequestBodyIndividual'Address'State PostAccountRequestBodyIndividual'Address'
obj))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyIndividual'Address' where
  parseJSON :: Value -> Parser PostAccountRequestBodyIndividual'Address'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodyIndividual'Address')
-> Value
-> Parser PostAccountRequestBodyIndividual'Address'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyIndividual'Address'" (\Object
obj -> ((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> PostAccountRequestBodyIndividual'Address')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyIndividual'Address')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyIndividual'Address'
PostAccountRequestBodyIndividual'Address' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodyIndividual'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyIndividual'Address')
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
   -> PostAccountRequestBodyIndividual'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyIndividual'Address')
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
   -> PostAccountRequestBodyIndividual'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyIndividual'Address')
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
   -> PostAccountRequestBodyIndividual'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> PostAccountRequestBodyIndividual'Address')
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 -> PostAccountRequestBodyIndividual'Address')
-> Parser (Maybe Text)
-> Parser (Maybe Text -> PostAccountRequestBodyIndividual'Address')
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 -> PostAccountRequestBodyIndividual'Address')
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodyIndividual'Address'
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 'PostAccountRequestBodyIndividual'Address'' with all required fields.
mkPostAccountRequestBodyIndividual'Address' :: PostAccountRequestBodyIndividual'Address'
mkPostAccountRequestBodyIndividual'Address' :: PostAccountRequestBodyIndividual'Address'
mkPostAccountRequestBodyIndividual'Address' =
  PostAccountRequestBodyIndividual'Address' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyIndividual'Address'
PostAccountRequestBodyIndividual'Address'
    { postAccountRequestBodyIndividual'Address'City :: Maybe Text
postAccountRequestBodyIndividual'Address'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'Address'Country :: Maybe Text
postAccountRequestBodyIndividual'Address'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'Address'Line1 :: Maybe Text
postAccountRequestBodyIndividual'Address'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'Address'Line2 :: Maybe Text
postAccountRequestBodyIndividual'Address'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'Address'PostalCode :: Maybe Text
postAccountRequestBodyIndividual'Address'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'Address'State :: Maybe Text
postAccountRequestBodyIndividual'Address'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.individual.properties.address_kana@ in the specification.
data PostAccountRequestBodyIndividual'AddressKana' = PostAccountRequestBodyIndividual'AddressKana'
  { -- | city
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | country
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line1
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line2
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | town
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> PostAccountRequestBodyIndividual'AddressKana' -> ShowS
[PostAccountRequestBodyIndividual'AddressKana'] -> ShowS
PostAccountRequestBodyIndividual'AddressKana' -> String
(Int -> PostAccountRequestBodyIndividual'AddressKana' -> ShowS)
-> (PostAccountRequestBodyIndividual'AddressKana' -> String)
-> ([PostAccountRequestBodyIndividual'AddressKana'] -> ShowS)
-> Show PostAccountRequestBodyIndividual'AddressKana'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyIndividual'AddressKana'] -> ShowS
$cshowList :: [PostAccountRequestBodyIndividual'AddressKana'] -> ShowS
show :: PostAccountRequestBodyIndividual'AddressKana' -> String
$cshow :: PostAccountRequestBodyIndividual'AddressKana' -> String
showsPrec :: Int -> PostAccountRequestBodyIndividual'AddressKana' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyIndividual'AddressKana' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyIndividual'AddressKana'
-> PostAccountRequestBodyIndividual'AddressKana' -> Bool
(PostAccountRequestBodyIndividual'AddressKana'
 -> PostAccountRequestBodyIndividual'AddressKana' -> Bool)
-> (PostAccountRequestBodyIndividual'AddressKana'
    -> PostAccountRequestBodyIndividual'AddressKana' -> Bool)
-> Eq PostAccountRequestBodyIndividual'AddressKana'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyIndividual'AddressKana'
-> PostAccountRequestBodyIndividual'AddressKana' -> Bool
$c/= :: PostAccountRequestBodyIndividual'AddressKana'
-> PostAccountRequestBodyIndividual'AddressKana' -> Bool
== :: PostAccountRequestBodyIndividual'AddressKana'
-> PostAccountRequestBodyIndividual'AddressKana' -> Bool
$c== :: PostAccountRequestBodyIndividual'AddressKana'
-> PostAccountRequestBodyIndividual'AddressKana' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyIndividual'AddressKana' where
  toJSON :: PostAccountRequestBodyIndividual'AddressKana' -> Value
toJSON PostAccountRequestBodyIndividual'AddressKana'
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..= PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'City PostAccountRequestBodyIndividual'AddressKana'
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..= PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'Country PostAccountRequestBodyIndividual'AddressKana'
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..= PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'Line1 PostAccountRequestBodyIndividual'AddressKana'
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..= PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'Line2 PostAccountRequestBodyIndividual'AddressKana'
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..= PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'PostalCode PostAccountRequestBodyIndividual'AddressKana'
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..= PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'State PostAccountRequestBodyIndividual'AddressKana'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"town" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'Town PostAccountRequestBodyIndividual'AddressKana'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyIndividual'AddressKana' -> Encoding
toEncoding PostAccountRequestBodyIndividual'AddressKana'
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..= PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'City PostAccountRequestBodyIndividual'AddressKana'
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..= PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'Country PostAccountRequestBodyIndividual'AddressKana'
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..= PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'Line1 PostAccountRequestBodyIndividual'AddressKana'
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..= PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'Line2 PostAccountRequestBodyIndividual'AddressKana'
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..= PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'PostalCode PostAccountRequestBodyIndividual'AddressKana'
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..= PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'State PostAccountRequestBodyIndividual'AddressKana'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"town" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'AddressKana' -> Maybe Text
postAccountRequestBodyIndividual'AddressKana'Town PostAccountRequestBodyIndividual'AddressKana'
obj)))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyIndividual'AddressKana' where
  parseJSON :: Value -> Parser PostAccountRequestBodyIndividual'AddressKana'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodyIndividual'AddressKana')
-> Value
-> Parser PostAccountRequestBodyIndividual'AddressKana'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyIndividual'AddressKana'" (\Object
obj -> (((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> PostAccountRequestBodyIndividual'AddressKana')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyIndividual'AddressKana')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyIndividual'AddressKana'
PostAccountRequestBodyIndividual'AddressKana' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodyIndividual'AddressKana')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyIndividual'AddressKana')
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
   -> Maybe Text
   -> PostAccountRequestBodyIndividual'AddressKana')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyIndividual'AddressKana')
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
   -> Maybe Text
   -> PostAccountRequestBodyIndividual'AddressKana')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyIndividual'AddressKana')
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
   -> Maybe Text
   -> PostAccountRequestBodyIndividual'AddressKana')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyIndividual'AddressKana')
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
   -> Maybe Text
   -> PostAccountRequestBodyIndividual'AddressKana')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> PostAccountRequestBodyIndividual'AddressKana')
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
   -> Maybe Text -> PostAccountRequestBodyIndividual'AddressKana')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text -> PostAccountRequestBodyIndividual'AddressKana')
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")) Parser
  (Maybe Text -> PostAccountRequestBodyIndividual'AddressKana')
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodyIndividual'AddressKana'
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
"town"))

-- | Create a new 'PostAccountRequestBodyIndividual'AddressKana'' with all required fields.
mkPostAccountRequestBodyIndividual'AddressKana' :: PostAccountRequestBodyIndividual'AddressKana'
mkPostAccountRequestBodyIndividual'AddressKana' :: PostAccountRequestBodyIndividual'AddressKana'
mkPostAccountRequestBodyIndividual'AddressKana' =
  PostAccountRequestBodyIndividual'AddressKana' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyIndividual'AddressKana'
PostAccountRequestBodyIndividual'AddressKana'
    { postAccountRequestBodyIndividual'AddressKana'City :: Maybe Text
postAccountRequestBodyIndividual'AddressKana'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'AddressKana'Country :: Maybe Text
postAccountRequestBodyIndividual'AddressKana'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'AddressKana'Line1 :: Maybe Text
postAccountRequestBodyIndividual'AddressKana'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'AddressKana'Line2 :: Maybe Text
postAccountRequestBodyIndividual'AddressKana'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'AddressKana'PostalCode :: Maybe Text
postAccountRequestBodyIndividual'AddressKana'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'AddressKana'State :: Maybe Text
postAccountRequestBodyIndividual'AddressKana'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'AddressKana'Town :: Maybe Text
postAccountRequestBodyIndividual'AddressKana'Town = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.individual.properties.address_kanji@ in the specification.
data PostAccountRequestBodyIndividual'AddressKanji' = PostAccountRequestBodyIndividual'AddressKanji'
  { -- | city
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | country
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line1
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line2
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | town
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> PostAccountRequestBodyIndividual'AddressKanji' -> ShowS
[PostAccountRequestBodyIndividual'AddressKanji'] -> ShowS
PostAccountRequestBodyIndividual'AddressKanji' -> String
(Int -> PostAccountRequestBodyIndividual'AddressKanji' -> ShowS)
-> (PostAccountRequestBodyIndividual'AddressKanji' -> String)
-> ([PostAccountRequestBodyIndividual'AddressKanji'] -> ShowS)
-> Show PostAccountRequestBodyIndividual'AddressKanji'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyIndividual'AddressKanji'] -> ShowS
$cshowList :: [PostAccountRequestBodyIndividual'AddressKanji'] -> ShowS
show :: PostAccountRequestBodyIndividual'AddressKanji' -> String
$cshow :: PostAccountRequestBodyIndividual'AddressKanji' -> String
showsPrec :: Int -> PostAccountRequestBodyIndividual'AddressKanji' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyIndividual'AddressKanji' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyIndividual'AddressKanji'
-> PostAccountRequestBodyIndividual'AddressKanji' -> Bool
(PostAccountRequestBodyIndividual'AddressKanji'
 -> PostAccountRequestBodyIndividual'AddressKanji' -> Bool)
-> (PostAccountRequestBodyIndividual'AddressKanji'
    -> PostAccountRequestBodyIndividual'AddressKanji' -> Bool)
-> Eq PostAccountRequestBodyIndividual'AddressKanji'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyIndividual'AddressKanji'
-> PostAccountRequestBodyIndividual'AddressKanji' -> Bool
$c/= :: PostAccountRequestBodyIndividual'AddressKanji'
-> PostAccountRequestBodyIndividual'AddressKanji' -> Bool
== :: PostAccountRequestBodyIndividual'AddressKanji'
-> PostAccountRequestBodyIndividual'AddressKanji' -> Bool
$c== :: PostAccountRequestBodyIndividual'AddressKanji'
-> PostAccountRequestBodyIndividual'AddressKanji' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyIndividual'AddressKanji' where
  toJSON :: PostAccountRequestBodyIndividual'AddressKanji' -> Value
toJSON PostAccountRequestBodyIndividual'AddressKanji'
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..= PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'City PostAccountRequestBodyIndividual'AddressKanji'
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..= PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'Country PostAccountRequestBodyIndividual'AddressKanji'
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..= PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'Line1 PostAccountRequestBodyIndividual'AddressKanji'
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..= PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'Line2 PostAccountRequestBodyIndividual'AddressKanji'
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..= PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'PostalCode PostAccountRequestBodyIndividual'AddressKanji'
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..= PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'State PostAccountRequestBodyIndividual'AddressKanji'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"town" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'Town PostAccountRequestBodyIndividual'AddressKanji'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyIndividual'AddressKanji' -> Encoding
toEncoding PostAccountRequestBodyIndividual'AddressKanji'
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..= PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'City PostAccountRequestBodyIndividual'AddressKanji'
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..= PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'Country PostAccountRequestBodyIndividual'AddressKanji'
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..= PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'Line1 PostAccountRequestBodyIndividual'AddressKanji'
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..= PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'Line2 PostAccountRequestBodyIndividual'AddressKanji'
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..= PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'PostalCode PostAccountRequestBodyIndividual'AddressKanji'
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..= PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'State PostAccountRequestBodyIndividual'AddressKanji'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"town" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'AddressKanji' -> Maybe Text
postAccountRequestBodyIndividual'AddressKanji'Town PostAccountRequestBodyIndividual'AddressKanji'
obj)))))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyIndividual'AddressKanji' where
  parseJSON :: Value -> Parser PostAccountRequestBodyIndividual'AddressKanji'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyIndividual'AddressKanji')
-> Value
-> Parser PostAccountRequestBodyIndividual'AddressKanji'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyIndividual'AddressKanji'" (\Object
obj -> (((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> PostAccountRequestBodyIndividual'AddressKanji')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyIndividual'AddressKanji')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyIndividual'AddressKanji'
PostAccountRequestBodyIndividual'AddressKanji' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodyIndividual'AddressKanji')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyIndividual'AddressKanji')
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
   -> Maybe Text
   -> PostAccountRequestBodyIndividual'AddressKanji')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyIndividual'AddressKanji')
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
   -> Maybe Text
   -> PostAccountRequestBodyIndividual'AddressKanji')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyIndividual'AddressKanji')
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
   -> Maybe Text
   -> PostAccountRequestBodyIndividual'AddressKanji')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyIndividual'AddressKanji')
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
   -> Maybe Text
   -> PostAccountRequestBodyIndividual'AddressKanji')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> PostAccountRequestBodyIndividual'AddressKanji')
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
   -> Maybe Text -> PostAccountRequestBodyIndividual'AddressKanji')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text -> PostAccountRequestBodyIndividual'AddressKanji')
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")) Parser
  (Maybe Text -> PostAccountRequestBodyIndividual'AddressKanji')
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodyIndividual'AddressKanji'
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
"town"))

-- | Create a new 'PostAccountRequestBodyIndividual'AddressKanji'' with all required fields.
mkPostAccountRequestBodyIndividual'AddressKanji' :: PostAccountRequestBodyIndividual'AddressKanji'
mkPostAccountRequestBodyIndividual'AddressKanji' :: PostAccountRequestBodyIndividual'AddressKanji'
mkPostAccountRequestBodyIndividual'AddressKanji' =
  PostAccountRequestBodyIndividual'AddressKanji' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyIndividual'AddressKanji'
PostAccountRequestBodyIndividual'AddressKanji'
    { postAccountRequestBodyIndividual'AddressKanji'City :: Maybe Text
postAccountRequestBodyIndividual'AddressKanji'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'AddressKanji'Country :: Maybe Text
postAccountRequestBodyIndividual'AddressKanji'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'AddressKanji'Line1 :: Maybe Text
postAccountRequestBodyIndividual'AddressKanji'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'AddressKanji'Line2 :: Maybe Text
postAccountRequestBodyIndividual'AddressKanji'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'AddressKanji'PostalCode :: Maybe Text
postAccountRequestBodyIndividual'AddressKanji'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'AddressKanji'State :: Maybe Text
postAccountRequestBodyIndividual'AddressKanji'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'AddressKanji'Town :: Maybe Text
postAccountRequestBodyIndividual'AddressKanji'Town = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.individual.properties.dob.anyOf@ in the specification.
data PostAccountRequestBodyIndividual'Dob'OneOf1 = PostAccountRequestBodyIndividual'Dob'OneOf1
  { -- | day
    PostAccountRequestBodyIndividual'Dob'OneOf1 -> Int
postAccountRequestBodyIndividual'Dob'OneOf1Day :: GHC.Types.Int,
    -- | month
    PostAccountRequestBodyIndividual'Dob'OneOf1 -> Int
postAccountRequestBodyIndividual'Dob'OneOf1Month :: GHC.Types.Int,
    -- | year
    PostAccountRequestBodyIndividual'Dob'OneOf1 -> Int
postAccountRequestBodyIndividual'Dob'OneOf1Year :: GHC.Types.Int
  }
  deriving
    ( Int -> PostAccountRequestBodyIndividual'Dob'OneOf1 -> ShowS
[PostAccountRequestBodyIndividual'Dob'OneOf1] -> ShowS
PostAccountRequestBodyIndividual'Dob'OneOf1 -> String
(Int -> PostAccountRequestBodyIndividual'Dob'OneOf1 -> ShowS)
-> (PostAccountRequestBodyIndividual'Dob'OneOf1 -> String)
-> ([PostAccountRequestBodyIndividual'Dob'OneOf1] -> ShowS)
-> Show PostAccountRequestBodyIndividual'Dob'OneOf1
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyIndividual'Dob'OneOf1] -> ShowS
$cshowList :: [PostAccountRequestBodyIndividual'Dob'OneOf1] -> ShowS
show :: PostAccountRequestBodyIndividual'Dob'OneOf1 -> String
$cshow :: PostAccountRequestBodyIndividual'Dob'OneOf1 -> String
showsPrec :: Int -> PostAccountRequestBodyIndividual'Dob'OneOf1 -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyIndividual'Dob'OneOf1 -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyIndividual'Dob'OneOf1
-> PostAccountRequestBodyIndividual'Dob'OneOf1 -> Bool
(PostAccountRequestBodyIndividual'Dob'OneOf1
 -> PostAccountRequestBodyIndividual'Dob'OneOf1 -> Bool)
-> (PostAccountRequestBodyIndividual'Dob'OneOf1
    -> PostAccountRequestBodyIndividual'Dob'OneOf1 -> Bool)
-> Eq PostAccountRequestBodyIndividual'Dob'OneOf1
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyIndividual'Dob'OneOf1
-> PostAccountRequestBodyIndividual'Dob'OneOf1 -> Bool
$c/= :: PostAccountRequestBodyIndividual'Dob'OneOf1
-> PostAccountRequestBodyIndividual'Dob'OneOf1 -> Bool
== :: PostAccountRequestBodyIndividual'Dob'OneOf1
-> PostAccountRequestBodyIndividual'Dob'OneOf1 -> Bool
$c== :: PostAccountRequestBodyIndividual'Dob'OneOf1
-> PostAccountRequestBodyIndividual'Dob'OneOf1 -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyIndividual'Dob'OneOf1 where
  toJSON :: PostAccountRequestBodyIndividual'Dob'OneOf1 -> Value
toJSON PostAccountRequestBodyIndividual'Dob'OneOf1
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"day" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Dob'OneOf1 -> Int
postAccountRequestBodyIndividual'Dob'OneOf1Day PostAccountRequestBodyIndividual'Dob'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"month" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Dob'OneOf1 -> Int
postAccountRequestBodyIndividual'Dob'OneOf1Month PostAccountRequestBodyIndividual'Dob'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"year" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Dob'OneOf1 -> Int
postAccountRequestBodyIndividual'Dob'OneOf1Year PostAccountRequestBodyIndividual'Dob'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyIndividual'Dob'OneOf1 -> Encoding
toEncoding PostAccountRequestBodyIndividual'Dob'OneOf1
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"day" Text -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Dob'OneOf1 -> Int
postAccountRequestBodyIndividual'Dob'OneOf1Day PostAccountRequestBodyIndividual'Dob'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"month" Text -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Dob'OneOf1 -> Int
postAccountRequestBodyIndividual'Dob'OneOf1Month PostAccountRequestBodyIndividual'Dob'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"year" Text -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Dob'OneOf1 -> Int
postAccountRequestBodyIndividual'Dob'OneOf1Year PostAccountRequestBodyIndividual'Dob'OneOf1
obj)))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyIndividual'Dob'OneOf1 where
  parseJSON :: Value -> Parser PostAccountRequestBodyIndividual'Dob'OneOf1
parseJSON = String
-> (Object -> Parser PostAccountRequestBodyIndividual'Dob'OneOf1)
-> Value
-> Parser PostAccountRequestBodyIndividual'Dob'OneOf1
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyIndividual'Dob'OneOf1" (\Object
obj -> (((Int -> Int -> Int -> PostAccountRequestBodyIndividual'Dob'OneOf1)
-> Parser
     (Int -> Int -> Int -> PostAccountRequestBodyIndividual'Dob'OneOf1)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Int -> Int -> Int -> PostAccountRequestBodyIndividual'Dob'OneOf1
PostAccountRequestBodyIndividual'Dob'OneOf1 Parser
  (Int -> Int -> Int -> PostAccountRequestBodyIndividual'Dob'OneOf1)
-> Parser Int
-> Parser
     (Int -> Int -> PostAccountRequestBodyIndividual'Dob'OneOf1)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"day")) Parser (Int -> Int -> PostAccountRequestBodyIndividual'Dob'OneOf1)
-> Parser Int
-> Parser (Int -> PostAccountRequestBodyIndividual'Dob'OneOf1)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"month")) Parser (Int -> PostAccountRequestBodyIndividual'Dob'OneOf1)
-> Parser Int -> Parser PostAccountRequestBodyIndividual'Dob'OneOf1
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"year"))

-- | Create a new 'PostAccountRequestBodyIndividual'Dob'OneOf1' with all required fields.
mkPostAccountRequestBodyIndividual'Dob'OneOf1 ::
  -- | 'postAccountRequestBodyIndividual'Dob'OneOf1Day'
  GHC.Types.Int ->
  -- | 'postAccountRequestBodyIndividual'Dob'OneOf1Month'
  GHC.Types.Int ->
  -- | 'postAccountRequestBodyIndividual'Dob'OneOf1Year'
  GHC.Types.Int ->
  PostAccountRequestBodyIndividual'Dob'OneOf1
mkPostAccountRequestBodyIndividual'Dob'OneOf1 :: Int -> Int -> Int -> PostAccountRequestBodyIndividual'Dob'OneOf1
mkPostAccountRequestBodyIndividual'Dob'OneOf1 Int
postAccountRequestBodyIndividual'Dob'OneOf1Day Int
postAccountRequestBodyIndividual'Dob'OneOf1Month Int
postAccountRequestBodyIndividual'Dob'OneOf1Year =
  PostAccountRequestBodyIndividual'Dob'OneOf1 :: Int -> Int -> Int -> PostAccountRequestBodyIndividual'Dob'OneOf1
PostAccountRequestBodyIndividual'Dob'OneOf1
    { postAccountRequestBodyIndividual'Dob'OneOf1Day :: Int
postAccountRequestBodyIndividual'Dob'OneOf1Day = Int
postAccountRequestBodyIndividual'Dob'OneOf1Day,
      postAccountRequestBodyIndividual'Dob'OneOf1Month :: Int
postAccountRequestBodyIndividual'Dob'OneOf1Month = Int
postAccountRequestBodyIndividual'Dob'OneOf1Month,
      postAccountRequestBodyIndividual'Dob'OneOf1Year :: Int
postAccountRequestBodyIndividual'Dob'OneOf1Year = Int
postAccountRequestBodyIndividual'Dob'OneOf1Year
    }

-- | Defines the oneOf schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.individual.properties.dob.anyOf@ in the specification.
data PostAccountRequestBodyIndividual'Dob'Variants
  = -- | Represents the JSON value @""@
    PostAccountRequestBodyIndividual'Dob'EmptyString
  | PostAccountRequestBodyIndividual'Dob'PostAccountRequestBodyIndividual'Dob'OneOf1 PostAccountRequestBodyIndividual'Dob'OneOf1
  deriving (Int -> PostAccountRequestBodyIndividual'Dob'Variants -> ShowS
[PostAccountRequestBodyIndividual'Dob'Variants] -> ShowS
PostAccountRequestBodyIndividual'Dob'Variants -> String
(Int -> PostAccountRequestBodyIndividual'Dob'Variants -> ShowS)
-> (PostAccountRequestBodyIndividual'Dob'Variants -> String)
-> ([PostAccountRequestBodyIndividual'Dob'Variants] -> ShowS)
-> Show PostAccountRequestBodyIndividual'Dob'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyIndividual'Dob'Variants] -> ShowS
$cshowList :: [PostAccountRequestBodyIndividual'Dob'Variants] -> ShowS
show :: PostAccountRequestBodyIndividual'Dob'Variants -> String
$cshow :: PostAccountRequestBodyIndividual'Dob'Variants -> String
showsPrec :: Int -> PostAccountRequestBodyIndividual'Dob'Variants -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyIndividual'Dob'Variants -> ShowS
GHC.Show.Show, PostAccountRequestBodyIndividual'Dob'Variants
-> PostAccountRequestBodyIndividual'Dob'Variants -> Bool
(PostAccountRequestBodyIndividual'Dob'Variants
 -> PostAccountRequestBodyIndividual'Dob'Variants -> Bool)
-> (PostAccountRequestBodyIndividual'Dob'Variants
    -> PostAccountRequestBodyIndividual'Dob'Variants -> Bool)
-> Eq PostAccountRequestBodyIndividual'Dob'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyIndividual'Dob'Variants
-> PostAccountRequestBodyIndividual'Dob'Variants -> Bool
$c/= :: PostAccountRequestBodyIndividual'Dob'Variants
-> PostAccountRequestBodyIndividual'Dob'Variants -> Bool
== :: PostAccountRequestBodyIndividual'Dob'Variants
-> PostAccountRequestBodyIndividual'Dob'Variants -> Bool
$c== :: PostAccountRequestBodyIndividual'Dob'Variants
-> PostAccountRequestBodyIndividual'Dob'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyIndividual'Dob'Variants where
  toJSON :: PostAccountRequestBodyIndividual'Dob'Variants -> Value
toJSON (PostAccountRequestBodyIndividual'Dob'PostAccountRequestBodyIndividual'Dob'OneOf1 PostAccountRequestBodyIndividual'Dob'OneOf1
a) = PostAccountRequestBodyIndividual'Dob'OneOf1 -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON PostAccountRequestBodyIndividual'Dob'OneOf1
a
  toJSON (PostAccountRequestBodyIndividual'Dob'Variants
PostAccountRequestBodyIndividual'Dob'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyIndividual'Dob'Variants where
  parseJSON :: Value -> Parser PostAccountRequestBodyIndividual'Dob'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostAccountRequestBodyIndividual'Dob'Variants
-> Parser PostAccountRequestBodyIndividual'Dob'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostAccountRequestBodyIndividual'Dob'Variants
PostAccountRequestBodyIndividual'Dob'EmptyString
        | Bool
GHC.Base.otherwise -> case (PostAccountRequestBodyIndividual'Dob'OneOf1
-> PostAccountRequestBodyIndividual'Dob'Variants
PostAccountRequestBodyIndividual'Dob'PostAccountRequestBodyIndividual'Dob'OneOf1 (PostAccountRequestBodyIndividual'Dob'OneOf1
 -> PostAccountRequestBodyIndividual'Dob'Variants)
-> Result PostAccountRequestBodyIndividual'Dob'OneOf1
-> Result PostAccountRequestBodyIndividual'Dob'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result PostAccountRequestBodyIndividual'Dob'OneOf1
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result PostAccountRequestBodyIndividual'Dob'Variants
-> Result PostAccountRequestBodyIndividual'Dob'Variants
-> Result PostAccountRequestBodyIndividual'Dob'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result PostAccountRequestBodyIndividual'Dob'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostAccountRequestBodyIndividual'Dob'Variants
a -> PostAccountRequestBodyIndividual'Dob'Variants
-> Parser PostAccountRequestBodyIndividual'Dob'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostAccountRequestBodyIndividual'Dob'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String -> Parser PostAccountRequestBodyIndividual'Dob'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the oneOf schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.individual.properties.metadata.anyOf@ in the specification.
data PostAccountRequestBodyIndividual'Metadata'Variants
  = -- | Represents the JSON value @""@
    PostAccountRequestBodyIndividual'Metadata'EmptyString
  | PostAccountRequestBodyIndividual'Metadata'Object Data.Aeson.Types.Internal.Object
  deriving (Int -> PostAccountRequestBodyIndividual'Metadata'Variants -> ShowS
[PostAccountRequestBodyIndividual'Metadata'Variants] -> ShowS
PostAccountRequestBodyIndividual'Metadata'Variants -> String
(Int
 -> PostAccountRequestBodyIndividual'Metadata'Variants -> ShowS)
-> (PostAccountRequestBodyIndividual'Metadata'Variants -> String)
-> ([PostAccountRequestBodyIndividual'Metadata'Variants] -> ShowS)
-> Show PostAccountRequestBodyIndividual'Metadata'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyIndividual'Metadata'Variants] -> ShowS
$cshowList :: [PostAccountRequestBodyIndividual'Metadata'Variants] -> ShowS
show :: PostAccountRequestBodyIndividual'Metadata'Variants -> String
$cshow :: PostAccountRequestBodyIndividual'Metadata'Variants -> String
showsPrec :: Int -> PostAccountRequestBodyIndividual'Metadata'Variants -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyIndividual'Metadata'Variants -> ShowS
GHC.Show.Show, PostAccountRequestBodyIndividual'Metadata'Variants
-> PostAccountRequestBodyIndividual'Metadata'Variants -> Bool
(PostAccountRequestBodyIndividual'Metadata'Variants
 -> PostAccountRequestBodyIndividual'Metadata'Variants -> Bool)
-> (PostAccountRequestBodyIndividual'Metadata'Variants
    -> PostAccountRequestBodyIndividual'Metadata'Variants -> Bool)
-> Eq PostAccountRequestBodyIndividual'Metadata'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyIndividual'Metadata'Variants
-> PostAccountRequestBodyIndividual'Metadata'Variants -> Bool
$c/= :: PostAccountRequestBodyIndividual'Metadata'Variants
-> PostAccountRequestBodyIndividual'Metadata'Variants -> Bool
== :: PostAccountRequestBodyIndividual'Metadata'Variants
-> PostAccountRequestBodyIndividual'Metadata'Variants -> Bool
$c== :: PostAccountRequestBodyIndividual'Metadata'Variants
-> PostAccountRequestBodyIndividual'Metadata'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyIndividual'Metadata'Variants where
  toJSON :: PostAccountRequestBodyIndividual'Metadata'Variants -> Value
toJSON (PostAccountRequestBodyIndividual'Metadata'Object Object
a) = Object -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Object
a
  toJSON (PostAccountRequestBodyIndividual'Metadata'Variants
PostAccountRequestBodyIndividual'Metadata'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyIndividual'Metadata'Variants where
  parseJSON :: Value -> Parser PostAccountRequestBodyIndividual'Metadata'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostAccountRequestBodyIndividual'Metadata'Variants
-> Parser PostAccountRequestBodyIndividual'Metadata'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostAccountRequestBodyIndividual'Metadata'Variants
PostAccountRequestBodyIndividual'Metadata'EmptyString
        | Bool
GHC.Base.otherwise -> case (Object -> PostAccountRequestBodyIndividual'Metadata'Variants
PostAccountRequestBodyIndividual'Metadata'Object (Object -> PostAccountRequestBodyIndividual'Metadata'Variants)
-> Result Object
-> Result PostAccountRequestBodyIndividual'Metadata'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Object
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result PostAccountRequestBodyIndividual'Metadata'Variants
-> Result PostAccountRequestBodyIndividual'Metadata'Variants
-> Result PostAccountRequestBodyIndividual'Metadata'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result PostAccountRequestBodyIndividual'Metadata'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostAccountRequestBodyIndividual'Metadata'Variants
a -> PostAccountRequestBodyIndividual'Metadata'Variants
-> Parser PostAccountRequestBodyIndividual'Metadata'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostAccountRequestBodyIndividual'Metadata'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String -> Parser PostAccountRequestBodyIndividual'Metadata'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the enum schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.individual.properties.political_exposure@ in the specification.
data PostAccountRequestBodyIndividual'PoliticalExposure'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    PostAccountRequestBodyIndividual'PoliticalExposure'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    PostAccountRequestBodyIndividual'PoliticalExposure'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"existing"@
    PostAccountRequestBodyIndividual'PoliticalExposure'EnumExisting
  | -- | Represents the JSON value @"none"@
    PostAccountRequestBodyIndividual'PoliticalExposure'EnumNone
  deriving (Int -> PostAccountRequestBodyIndividual'PoliticalExposure' -> ShowS
[PostAccountRequestBodyIndividual'PoliticalExposure'] -> ShowS
PostAccountRequestBodyIndividual'PoliticalExposure' -> String
(Int
 -> PostAccountRequestBodyIndividual'PoliticalExposure' -> ShowS)
-> (PostAccountRequestBodyIndividual'PoliticalExposure' -> String)
-> ([PostAccountRequestBodyIndividual'PoliticalExposure'] -> ShowS)
-> Show PostAccountRequestBodyIndividual'PoliticalExposure'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyIndividual'PoliticalExposure'] -> ShowS
$cshowList :: [PostAccountRequestBodyIndividual'PoliticalExposure'] -> ShowS
show :: PostAccountRequestBodyIndividual'PoliticalExposure' -> String
$cshow :: PostAccountRequestBodyIndividual'PoliticalExposure' -> String
showsPrec :: Int -> PostAccountRequestBodyIndividual'PoliticalExposure' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyIndividual'PoliticalExposure' -> ShowS
GHC.Show.Show, PostAccountRequestBodyIndividual'PoliticalExposure'
-> PostAccountRequestBodyIndividual'PoliticalExposure' -> Bool
(PostAccountRequestBodyIndividual'PoliticalExposure'
 -> PostAccountRequestBodyIndividual'PoliticalExposure' -> Bool)
-> (PostAccountRequestBodyIndividual'PoliticalExposure'
    -> PostAccountRequestBodyIndividual'PoliticalExposure' -> Bool)
-> Eq PostAccountRequestBodyIndividual'PoliticalExposure'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyIndividual'PoliticalExposure'
-> PostAccountRequestBodyIndividual'PoliticalExposure' -> Bool
$c/= :: PostAccountRequestBodyIndividual'PoliticalExposure'
-> PostAccountRequestBodyIndividual'PoliticalExposure' -> Bool
== :: PostAccountRequestBodyIndividual'PoliticalExposure'
-> PostAccountRequestBodyIndividual'PoliticalExposure' -> Bool
$c== :: PostAccountRequestBodyIndividual'PoliticalExposure'
-> PostAccountRequestBodyIndividual'PoliticalExposure' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyIndividual'PoliticalExposure' where
  toJSON :: PostAccountRequestBodyIndividual'PoliticalExposure' -> Value
toJSON (PostAccountRequestBodyIndividual'PoliticalExposure'Other Value
val) = Value
val
  toJSON (PostAccountRequestBodyIndividual'PoliticalExposure'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (PostAccountRequestBodyIndividual'PoliticalExposure'
PostAccountRequestBodyIndividual'PoliticalExposure'EnumExisting) = Value
"existing"
  toJSON (PostAccountRequestBodyIndividual'PoliticalExposure'
PostAccountRequestBodyIndividual'PoliticalExposure'EnumNone) = Value
"none"

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyIndividual'PoliticalExposure' where
  parseJSON :: Value -> Parser PostAccountRequestBodyIndividual'PoliticalExposure'
parseJSON Value
val =
    PostAccountRequestBodyIndividual'PoliticalExposure'
-> Parser PostAccountRequestBodyIndividual'PoliticalExposure'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"existing" -> PostAccountRequestBodyIndividual'PoliticalExposure'
PostAccountRequestBodyIndividual'PoliticalExposure'EnumExisting
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"none" -> PostAccountRequestBodyIndividual'PoliticalExposure'
PostAccountRequestBodyIndividual'PoliticalExposure'EnumNone
            | Bool
GHC.Base.otherwise -> Value -> PostAccountRequestBodyIndividual'PoliticalExposure'
PostAccountRequestBodyIndividual'PoliticalExposure'Other Value
val
      )

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.individual.properties.verification@ in the specification.
data PostAccountRequestBodyIndividual'Verification' = PostAccountRequestBodyIndividual'Verification'
  { -- | additional_document
    PostAccountRequestBodyIndividual'Verification'
-> Maybe
     PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
postAccountRequestBodyIndividual'Verification'AdditionalDocument :: (GHC.Maybe.Maybe PostAccountRequestBodyIndividual'Verification'AdditionalDocument'),
    -- | document
    PostAccountRequestBodyIndividual'Verification'
-> Maybe PostAccountRequestBodyIndividual'Verification'Document'
postAccountRequestBodyIndividual'Verification'Document :: (GHC.Maybe.Maybe PostAccountRequestBodyIndividual'Verification'Document')
  }
  deriving
    ( Int -> PostAccountRequestBodyIndividual'Verification' -> ShowS
[PostAccountRequestBodyIndividual'Verification'] -> ShowS
PostAccountRequestBodyIndividual'Verification' -> String
(Int -> PostAccountRequestBodyIndividual'Verification' -> ShowS)
-> (PostAccountRequestBodyIndividual'Verification' -> String)
-> ([PostAccountRequestBodyIndividual'Verification'] -> ShowS)
-> Show PostAccountRequestBodyIndividual'Verification'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyIndividual'Verification'] -> ShowS
$cshowList :: [PostAccountRequestBodyIndividual'Verification'] -> ShowS
show :: PostAccountRequestBodyIndividual'Verification' -> String
$cshow :: PostAccountRequestBodyIndividual'Verification' -> String
showsPrec :: Int -> PostAccountRequestBodyIndividual'Verification' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyIndividual'Verification' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyIndividual'Verification'
-> PostAccountRequestBodyIndividual'Verification' -> Bool
(PostAccountRequestBodyIndividual'Verification'
 -> PostAccountRequestBodyIndividual'Verification' -> Bool)
-> (PostAccountRequestBodyIndividual'Verification'
    -> PostAccountRequestBodyIndividual'Verification' -> Bool)
-> Eq PostAccountRequestBodyIndividual'Verification'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyIndividual'Verification'
-> PostAccountRequestBodyIndividual'Verification' -> Bool
$c/= :: PostAccountRequestBodyIndividual'Verification'
-> PostAccountRequestBodyIndividual'Verification' -> Bool
== :: PostAccountRequestBodyIndividual'Verification'
-> PostAccountRequestBodyIndividual'Verification' -> Bool
$c== :: PostAccountRequestBodyIndividual'Verification'
-> PostAccountRequestBodyIndividual'Verification' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyIndividual'Verification' where
  toJSON :: PostAccountRequestBodyIndividual'Verification' -> Value
toJSON PostAccountRequestBodyIndividual'Verification'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"additional_document" Text
-> Maybe
     PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Verification'
-> Maybe
     PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
postAccountRequestBodyIndividual'Verification'AdditionalDocument PostAccountRequestBodyIndividual'Verification'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"document" Text
-> Maybe PostAccountRequestBodyIndividual'Verification'Document'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Verification'
-> Maybe PostAccountRequestBodyIndividual'Verification'Document'
postAccountRequestBodyIndividual'Verification'Document PostAccountRequestBodyIndividual'Verification'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyIndividual'Verification' -> Encoding
toEncoding PostAccountRequestBodyIndividual'Verification'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"additional_document" Text
-> Maybe
     PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Verification'
-> Maybe
     PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
postAccountRequestBodyIndividual'Verification'AdditionalDocument PostAccountRequestBodyIndividual'Verification'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"document" Text
-> Maybe PostAccountRequestBodyIndividual'Verification'Document'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Verification'
-> Maybe PostAccountRequestBodyIndividual'Verification'Document'
postAccountRequestBodyIndividual'Verification'Document PostAccountRequestBodyIndividual'Verification'
obj))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyIndividual'Verification' where
  parseJSON :: Value -> Parser PostAccountRequestBodyIndividual'Verification'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyIndividual'Verification')
-> Value
-> Parser PostAccountRequestBodyIndividual'Verification'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyIndividual'Verification'" (\Object
obj -> ((Maybe
   PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
 -> Maybe PostAccountRequestBodyIndividual'Verification'Document'
 -> PostAccountRequestBodyIndividual'Verification')
-> Parser
     (Maybe
        PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
      -> Maybe PostAccountRequestBodyIndividual'Verification'Document'
      -> PostAccountRequestBodyIndividual'Verification')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe
  PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Maybe PostAccountRequestBodyIndividual'Verification'Document'
-> PostAccountRequestBodyIndividual'Verification'
PostAccountRequestBodyIndividual'Verification' Parser
  (Maybe
     PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
   -> Maybe PostAccountRequestBodyIndividual'Verification'Document'
   -> PostAccountRequestBodyIndividual'Verification')
-> Parser
     (Maybe
        PostAccountRequestBodyIndividual'Verification'AdditionalDocument')
-> Parser
     (Maybe PostAccountRequestBodyIndividual'Verification'Document'
      -> PostAccountRequestBodyIndividual'Verification')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostAccountRequestBodyIndividual'Verification'AdditionalDocument')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"additional_document")) Parser
  (Maybe PostAccountRequestBodyIndividual'Verification'Document'
   -> PostAccountRequestBodyIndividual'Verification')
-> Parser
     (Maybe PostAccountRequestBodyIndividual'Verification'Document')
-> Parser PostAccountRequestBodyIndividual'Verification'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodyIndividual'Verification'Document')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"document"))

-- | Create a new 'PostAccountRequestBodyIndividual'Verification'' with all required fields.
mkPostAccountRequestBodyIndividual'Verification' :: PostAccountRequestBodyIndividual'Verification'
mkPostAccountRequestBodyIndividual'Verification' :: PostAccountRequestBodyIndividual'Verification'
mkPostAccountRequestBodyIndividual'Verification' =
  PostAccountRequestBodyIndividual'Verification' :: Maybe
  PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Maybe PostAccountRequestBodyIndividual'Verification'Document'
-> PostAccountRequestBodyIndividual'Verification'
PostAccountRequestBodyIndividual'Verification'
    { postAccountRequestBodyIndividual'Verification'AdditionalDocument :: Maybe
  PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
postAccountRequestBodyIndividual'Verification'AdditionalDocument = Maybe
  PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'Verification'Document :: Maybe PostAccountRequestBodyIndividual'Verification'Document'
postAccountRequestBodyIndividual'Verification'Document = Maybe PostAccountRequestBodyIndividual'Verification'Document'
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.individual.properties.verification.properties.additional_document@ in the specification.
data PostAccountRequestBodyIndividual'Verification'AdditionalDocument' = PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
  { -- | back
    --
    -- Constraints:
    --
    -- * Maximum length of 500
    PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Maybe Text
postAccountRequestBodyIndividual'Verification'AdditionalDocument'Back :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | front
    --
    -- Constraints:
    --
    -- * Maximum length of 500
    PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Maybe Text
postAccountRequestBodyIndividual'Verification'AdditionalDocument'Front :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> ShowS
[PostAccountRequestBodyIndividual'Verification'AdditionalDocument']
-> ShowS
PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> String
(Int
 -> PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
 -> ShowS)
-> (PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
    -> String)
-> ([PostAccountRequestBodyIndividual'Verification'AdditionalDocument']
    -> ShowS)
-> Show
     PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyIndividual'Verification'AdditionalDocument']
-> ShowS
$cshowList :: [PostAccountRequestBodyIndividual'Verification'AdditionalDocument']
-> ShowS
show :: PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> String
$cshow :: PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> String
showsPrec :: Int
-> PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> ShowS
GHC.Show.Show,
      PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Bool
(PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
 -> PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
 -> Bool)
-> (PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
    -> PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
    -> Bool)
-> Eq
     PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Bool
$c/= :: PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Bool
== :: PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Bool
$c== :: PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyIndividual'Verification'AdditionalDocument' where
  toJSON :: PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Value
toJSON PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"back" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Maybe Text
postAccountRequestBodyIndividual'Verification'AdditionalDocument'Back PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"front" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Maybe Text
postAccountRequestBodyIndividual'Verification'AdditionalDocument'Front PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Encoding
toEncoding PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"back" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Maybe Text
postAccountRequestBodyIndividual'Verification'AdditionalDocument'Back PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"front" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
-> Maybe Text
postAccountRequestBodyIndividual'Verification'AdditionalDocument'Front PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
obj))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyIndividual'Verification'AdditionalDocument' where
  parseJSON :: Value
-> Parser
     PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
parseJSON = String
-> (Object
    -> Parser
         PostAccountRequestBodyIndividual'Verification'AdditionalDocument')
-> Value
-> Parser
     PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyIndividual'Verification'AdditionalDocument'" (\Object
obj -> ((Maybe Text
 -> Maybe Text
 -> PostAccountRequestBodyIndividual'Verification'AdditionalDocument')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyIndividual'Verification'AdditionalDocument')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
PostAccountRequestBodyIndividual'Verification'AdditionalDocument' Parser
  (Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodyIndividual'Verification'AdditionalDocument')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> PostAccountRequestBodyIndividual'Verification'AdditionalDocument')
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
"back")) Parser
  (Maybe Text
   -> PostAccountRequestBodyIndividual'Verification'AdditionalDocument')
-> Parser (Maybe Text)
-> Parser
     PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
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
"front"))

-- | Create a new 'PostAccountRequestBodyIndividual'Verification'AdditionalDocument'' with all required fields.
mkPostAccountRequestBodyIndividual'Verification'AdditionalDocument' :: PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
mkPostAccountRequestBodyIndividual'Verification'AdditionalDocument' :: PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
mkPostAccountRequestBodyIndividual'Verification'AdditionalDocument' =
  PostAccountRequestBodyIndividual'Verification'AdditionalDocument' :: Maybe Text
-> Maybe Text
-> PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
PostAccountRequestBodyIndividual'Verification'AdditionalDocument'
    { postAccountRequestBodyIndividual'Verification'AdditionalDocument'Back :: Maybe Text
postAccountRequestBodyIndividual'Verification'AdditionalDocument'Back = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'Verification'AdditionalDocument'Front :: Maybe Text
postAccountRequestBodyIndividual'Verification'AdditionalDocument'Front = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.individual.properties.verification.properties.document@ in the specification.
data PostAccountRequestBodyIndividual'Verification'Document' = PostAccountRequestBodyIndividual'Verification'Document'
  { -- | back
    --
    -- Constraints:
    --
    -- * Maximum length of 500
    PostAccountRequestBodyIndividual'Verification'Document'
-> Maybe Text
postAccountRequestBodyIndividual'Verification'Document'Back :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | front
    --
    -- Constraints:
    --
    -- * Maximum length of 500
    PostAccountRequestBodyIndividual'Verification'Document'
-> Maybe Text
postAccountRequestBodyIndividual'Verification'Document'Front :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> PostAccountRequestBodyIndividual'Verification'Document' -> ShowS
[PostAccountRequestBodyIndividual'Verification'Document'] -> ShowS
PostAccountRequestBodyIndividual'Verification'Document' -> String
(Int
 -> PostAccountRequestBodyIndividual'Verification'Document'
 -> ShowS)
-> (PostAccountRequestBodyIndividual'Verification'Document'
    -> String)
-> ([PostAccountRequestBodyIndividual'Verification'Document']
    -> ShowS)
-> Show PostAccountRequestBodyIndividual'Verification'Document'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyIndividual'Verification'Document'] -> ShowS
$cshowList :: [PostAccountRequestBodyIndividual'Verification'Document'] -> ShowS
show :: PostAccountRequestBodyIndividual'Verification'Document' -> String
$cshow :: PostAccountRequestBodyIndividual'Verification'Document' -> String
showsPrec :: Int
-> PostAccountRequestBodyIndividual'Verification'Document' -> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodyIndividual'Verification'Document' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyIndividual'Verification'Document'
-> PostAccountRequestBodyIndividual'Verification'Document' -> Bool
(PostAccountRequestBodyIndividual'Verification'Document'
 -> PostAccountRequestBodyIndividual'Verification'Document' -> Bool)
-> (PostAccountRequestBodyIndividual'Verification'Document'
    -> PostAccountRequestBodyIndividual'Verification'Document' -> Bool)
-> Eq PostAccountRequestBodyIndividual'Verification'Document'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyIndividual'Verification'Document'
-> PostAccountRequestBodyIndividual'Verification'Document' -> Bool
$c/= :: PostAccountRequestBodyIndividual'Verification'Document'
-> PostAccountRequestBodyIndividual'Verification'Document' -> Bool
== :: PostAccountRequestBodyIndividual'Verification'Document'
-> PostAccountRequestBodyIndividual'Verification'Document' -> Bool
$c== :: PostAccountRequestBodyIndividual'Verification'Document'
-> PostAccountRequestBodyIndividual'Verification'Document' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyIndividual'Verification'Document' where
  toJSON :: PostAccountRequestBodyIndividual'Verification'Document' -> Value
toJSON PostAccountRequestBodyIndividual'Verification'Document'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"back" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Verification'Document'
-> Maybe Text
postAccountRequestBodyIndividual'Verification'Document'Back PostAccountRequestBodyIndividual'Verification'Document'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"front" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Verification'Document'
-> Maybe Text
postAccountRequestBodyIndividual'Verification'Document'Front PostAccountRequestBodyIndividual'Verification'Document'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyIndividual'Verification'Document' -> Encoding
toEncoding PostAccountRequestBodyIndividual'Verification'Document'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"back" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Verification'Document'
-> Maybe Text
postAccountRequestBodyIndividual'Verification'Document'Back PostAccountRequestBodyIndividual'Verification'Document'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"front" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyIndividual'Verification'Document'
-> Maybe Text
postAccountRequestBodyIndividual'Verification'Document'Front PostAccountRequestBodyIndividual'Verification'Document'
obj))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyIndividual'Verification'Document' where
  parseJSON :: Value
-> Parser PostAccountRequestBodyIndividual'Verification'Document'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodyIndividual'Verification'Document')
-> Value
-> Parser PostAccountRequestBodyIndividual'Verification'Document'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyIndividual'Verification'Document'" (\Object
obj -> ((Maybe Text
 -> Maybe Text
 -> PostAccountRequestBodyIndividual'Verification'Document')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyIndividual'Verification'Document')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> PostAccountRequestBodyIndividual'Verification'Document'
PostAccountRequestBodyIndividual'Verification'Document' Parser
  (Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodyIndividual'Verification'Document')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> PostAccountRequestBodyIndividual'Verification'Document')
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
"back")) Parser
  (Maybe Text
   -> PostAccountRequestBodyIndividual'Verification'Document')
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodyIndividual'Verification'Document'
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
"front"))

-- | Create a new 'PostAccountRequestBodyIndividual'Verification'Document'' with all required fields.
mkPostAccountRequestBodyIndividual'Verification'Document' :: PostAccountRequestBodyIndividual'Verification'Document'
mkPostAccountRequestBodyIndividual'Verification'Document' :: PostAccountRequestBodyIndividual'Verification'Document'
mkPostAccountRequestBodyIndividual'Verification'Document' =
  PostAccountRequestBodyIndividual'Verification'Document' :: Maybe Text
-> Maybe Text
-> PostAccountRequestBodyIndividual'Verification'Document'
PostAccountRequestBodyIndividual'Verification'Document'
    { postAccountRequestBodyIndividual'Verification'Document'Back :: Maybe Text
postAccountRequestBodyIndividual'Verification'Document'Back = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyIndividual'Verification'Document'Front :: Maybe Text
postAccountRequestBodyIndividual'Verification'Document'Front = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.metadata.anyOf@ in the specification.
--
-- Set of [key-value pairs](https:\/\/stripe.com\/docs\/api\/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to \`metadata\`.
data PostAccountRequestBodyMetadata'Variants
  = -- | Represents the JSON value @""@
    PostAccountRequestBodyMetadata'EmptyString
  | PostAccountRequestBodyMetadata'Object Data.Aeson.Types.Internal.Object
  deriving (Int -> PostAccountRequestBodyMetadata'Variants -> ShowS
[PostAccountRequestBodyMetadata'Variants] -> ShowS
PostAccountRequestBodyMetadata'Variants -> String
(Int -> PostAccountRequestBodyMetadata'Variants -> ShowS)
-> (PostAccountRequestBodyMetadata'Variants -> String)
-> ([PostAccountRequestBodyMetadata'Variants] -> ShowS)
-> Show PostAccountRequestBodyMetadata'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyMetadata'Variants] -> ShowS
$cshowList :: [PostAccountRequestBodyMetadata'Variants] -> ShowS
show :: PostAccountRequestBodyMetadata'Variants -> String
$cshow :: PostAccountRequestBodyMetadata'Variants -> String
showsPrec :: Int -> PostAccountRequestBodyMetadata'Variants -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyMetadata'Variants -> ShowS
GHC.Show.Show, PostAccountRequestBodyMetadata'Variants
-> PostAccountRequestBodyMetadata'Variants -> Bool
(PostAccountRequestBodyMetadata'Variants
 -> PostAccountRequestBodyMetadata'Variants -> Bool)
-> (PostAccountRequestBodyMetadata'Variants
    -> PostAccountRequestBodyMetadata'Variants -> Bool)
-> Eq PostAccountRequestBodyMetadata'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyMetadata'Variants
-> PostAccountRequestBodyMetadata'Variants -> Bool
$c/= :: PostAccountRequestBodyMetadata'Variants
-> PostAccountRequestBodyMetadata'Variants -> Bool
== :: PostAccountRequestBodyMetadata'Variants
-> PostAccountRequestBodyMetadata'Variants -> Bool
$c== :: PostAccountRequestBodyMetadata'Variants
-> PostAccountRequestBodyMetadata'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyMetadata'Variants where
  toJSON :: PostAccountRequestBodyMetadata'Variants -> Value
toJSON (PostAccountRequestBodyMetadata'Object Object
a) = Object -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Object
a
  toJSON (PostAccountRequestBodyMetadata'Variants
PostAccountRequestBodyMetadata'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyMetadata'Variants where
  parseJSON :: Value -> Parser PostAccountRequestBodyMetadata'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostAccountRequestBodyMetadata'Variants
-> Parser PostAccountRequestBodyMetadata'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostAccountRequestBodyMetadata'Variants
PostAccountRequestBodyMetadata'EmptyString
        | Bool
GHC.Base.otherwise -> case (Object -> PostAccountRequestBodyMetadata'Variants
PostAccountRequestBodyMetadata'Object (Object -> PostAccountRequestBodyMetadata'Variants)
-> Result Object -> Result PostAccountRequestBodyMetadata'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Object
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result PostAccountRequestBodyMetadata'Variants
-> Result PostAccountRequestBodyMetadata'Variants
-> Result PostAccountRequestBodyMetadata'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result PostAccountRequestBodyMetadata'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostAccountRequestBodyMetadata'Variants
a -> PostAccountRequestBodyMetadata'Variants
-> Parser PostAccountRequestBodyMetadata'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostAccountRequestBodyMetadata'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String -> Parser PostAccountRequestBodyMetadata'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.settings@ in the specification.
--
-- Options for customizing how the account functions within Stripe.
data PostAccountRequestBodySettings' = PostAccountRequestBodySettings'
  { -- | branding
    PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodySettings'Branding'
postAccountRequestBodySettings'Branding :: (GHC.Maybe.Maybe PostAccountRequestBodySettings'Branding'),
    -- | card_issuing
    PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodySettings'CardIssuing'
postAccountRequestBodySettings'CardIssuing :: (GHC.Maybe.Maybe PostAccountRequestBodySettings'CardIssuing'),
    -- | card_payments
    PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodySettings'CardPayments'
postAccountRequestBodySettings'CardPayments :: (GHC.Maybe.Maybe PostAccountRequestBodySettings'CardPayments'),
    -- | payments
    PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodySettings'Payments'
postAccountRequestBodySettings'Payments :: (GHC.Maybe.Maybe PostAccountRequestBodySettings'Payments'),
    -- | payouts
    PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodySettings'Payouts'
postAccountRequestBodySettings'Payouts :: (GHC.Maybe.Maybe PostAccountRequestBodySettings'Payouts')
  }
  deriving
    ( Int -> PostAccountRequestBodySettings' -> ShowS
[PostAccountRequestBodySettings'] -> ShowS
PostAccountRequestBodySettings' -> String
(Int -> PostAccountRequestBodySettings' -> ShowS)
-> (PostAccountRequestBodySettings' -> String)
-> ([PostAccountRequestBodySettings'] -> ShowS)
-> Show PostAccountRequestBodySettings'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodySettings'] -> ShowS
$cshowList :: [PostAccountRequestBodySettings'] -> ShowS
show :: PostAccountRequestBodySettings' -> String
$cshow :: PostAccountRequestBodySettings' -> String
showsPrec :: Int -> PostAccountRequestBodySettings' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodySettings' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodySettings'
-> PostAccountRequestBodySettings' -> Bool
(PostAccountRequestBodySettings'
 -> PostAccountRequestBodySettings' -> Bool)
-> (PostAccountRequestBodySettings'
    -> PostAccountRequestBodySettings' -> Bool)
-> Eq PostAccountRequestBodySettings'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodySettings'
-> PostAccountRequestBodySettings' -> Bool
$c/= :: PostAccountRequestBodySettings'
-> PostAccountRequestBodySettings' -> Bool
== :: PostAccountRequestBodySettings'
-> PostAccountRequestBodySettings' -> Bool
$c== :: PostAccountRequestBodySettings'
-> PostAccountRequestBodySettings' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodySettings' where
  toJSON :: PostAccountRequestBodySettings' -> Value
toJSON PostAccountRequestBodySettings'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"branding" Text -> Maybe PostAccountRequestBodySettings'Branding' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodySettings'Branding'
postAccountRequestBodySettings'Branding PostAccountRequestBodySettings'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"card_issuing" Text -> Maybe PostAccountRequestBodySettings'CardIssuing' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodySettings'CardIssuing'
postAccountRequestBodySettings'CardIssuing PostAccountRequestBodySettings'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"card_payments" Text -> Maybe PostAccountRequestBodySettings'CardPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodySettings'CardPayments'
postAccountRequestBodySettings'CardPayments PostAccountRequestBodySettings'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payments" Text -> Maybe PostAccountRequestBodySettings'Payments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodySettings'Payments'
postAccountRequestBodySettings'Payments PostAccountRequestBodySettings'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payouts" Text -> Maybe PostAccountRequestBodySettings'Payouts' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodySettings'Payouts'
postAccountRequestBodySettings'Payouts PostAccountRequestBodySettings'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodySettings' -> Encoding
toEncoding PostAccountRequestBodySettings'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"branding" Text -> Maybe PostAccountRequestBodySettings'Branding' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodySettings'Branding'
postAccountRequestBodySettings'Branding PostAccountRequestBodySettings'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"card_issuing" Text -> Maybe PostAccountRequestBodySettings'CardIssuing' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodySettings'CardIssuing'
postAccountRequestBodySettings'CardIssuing PostAccountRequestBodySettings'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"card_payments" Text
-> Maybe PostAccountRequestBodySettings'CardPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodySettings'CardPayments'
postAccountRequestBodySettings'CardPayments PostAccountRequestBodySettings'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"payments" Text -> Maybe PostAccountRequestBodySettings'Payments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodySettings'Payments'
postAccountRequestBodySettings'Payments PostAccountRequestBodySettings'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"payouts" Text -> Maybe PostAccountRequestBodySettings'Payouts' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'
-> Maybe PostAccountRequestBodySettings'Payouts'
postAccountRequestBodySettings'Payouts PostAccountRequestBodySettings'
obj)))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodySettings' where
  parseJSON :: Value -> Parser PostAccountRequestBodySettings'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodySettings')
-> Value
-> Parser PostAccountRequestBodySettings'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodySettings'" (\Object
obj -> (((((Maybe PostAccountRequestBodySettings'Branding'
 -> Maybe PostAccountRequestBodySettings'CardIssuing'
 -> Maybe PostAccountRequestBodySettings'CardPayments'
 -> Maybe PostAccountRequestBodySettings'Payments'
 -> Maybe PostAccountRequestBodySettings'Payouts'
 -> PostAccountRequestBodySettings')
-> Parser
     (Maybe PostAccountRequestBodySettings'Branding'
      -> Maybe PostAccountRequestBodySettings'CardIssuing'
      -> Maybe PostAccountRequestBodySettings'CardPayments'
      -> Maybe PostAccountRequestBodySettings'Payments'
      -> Maybe PostAccountRequestBodySettings'Payouts'
      -> PostAccountRequestBodySettings')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe PostAccountRequestBodySettings'Branding'
-> Maybe PostAccountRequestBodySettings'CardIssuing'
-> Maybe PostAccountRequestBodySettings'CardPayments'
-> Maybe PostAccountRequestBodySettings'Payments'
-> Maybe PostAccountRequestBodySettings'Payouts'
-> PostAccountRequestBodySettings'
PostAccountRequestBodySettings' Parser
  (Maybe PostAccountRequestBodySettings'Branding'
   -> Maybe PostAccountRequestBodySettings'CardIssuing'
   -> Maybe PostAccountRequestBodySettings'CardPayments'
   -> Maybe PostAccountRequestBodySettings'Payments'
   -> Maybe PostAccountRequestBodySettings'Payouts'
   -> PostAccountRequestBodySettings')
-> Parser (Maybe PostAccountRequestBodySettings'Branding')
-> Parser
     (Maybe PostAccountRequestBodySettings'CardIssuing'
      -> Maybe PostAccountRequestBodySettings'CardPayments'
      -> Maybe PostAccountRequestBodySettings'Payments'
      -> Maybe PostAccountRequestBodySettings'Payouts'
      -> PostAccountRequestBodySettings')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe PostAccountRequestBodySettings'Branding')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"branding")) Parser
  (Maybe PostAccountRequestBodySettings'CardIssuing'
   -> Maybe PostAccountRequestBodySettings'CardPayments'
   -> Maybe PostAccountRequestBodySettings'Payments'
   -> Maybe PostAccountRequestBodySettings'Payouts'
   -> PostAccountRequestBodySettings')
-> Parser (Maybe PostAccountRequestBodySettings'CardIssuing')
-> Parser
     (Maybe PostAccountRequestBodySettings'CardPayments'
      -> Maybe PostAccountRequestBodySettings'Payments'
      -> Maybe PostAccountRequestBodySettings'Payouts'
      -> PostAccountRequestBodySettings')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodySettings'CardIssuing')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"card_issuing")) Parser
  (Maybe PostAccountRequestBodySettings'CardPayments'
   -> Maybe PostAccountRequestBodySettings'Payments'
   -> Maybe PostAccountRequestBodySettings'Payouts'
   -> PostAccountRequestBodySettings')
-> Parser (Maybe PostAccountRequestBodySettings'CardPayments')
-> Parser
     (Maybe PostAccountRequestBodySettings'Payments'
      -> Maybe PostAccountRequestBodySettings'Payouts'
      -> PostAccountRequestBodySettings')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodySettings'CardPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"card_payments")) Parser
  (Maybe PostAccountRequestBodySettings'Payments'
   -> Maybe PostAccountRequestBodySettings'Payouts'
   -> PostAccountRequestBodySettings')
-> Parser (Maybe PostAccountRequestBodySettings'Payments')
-> Parser
     (Maybe PostAccountRequestBodySettings'Payouts'
      -> PostAccountRequestBodySettings')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe PostAccountRequestBodySettings'Payments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"payments")) Parser
  (Maybe PostAccountRequestBodySettings'Payouts'
   -> PostAccountRequestBodySettings')
-> Parser (Maybe PostAccountRequestBodySettings'Payouts')
-> Parser PostAccountRequestBodySettings'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe PostAccountRequestBodySettings'Payouts')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"payouts"))

-- | Create a new 'PostAccountRequestBodySettings'' with all required fields.
mkPostAccountRequestBodySettings' :: PostAccountRequestBodySettings'
mkPostAccountRequestBodySettings' :: PostAccountRequestBodySettings'
mkPostAccountRequestBodySettings' =
  PostAccountRequestBodySettings' :: Maybe PostAccountRequestBodySettings'Branding'
-> Maybe PostAccountRequestBodySettings'CardIssuing'
-> Maybe PostAccountRequestBodySettings'CardPayments'
-> Maybe PostAccountRequestBodySettings'Payments'
-> Maybe PostAccountRequestBodySettings'Payouts'
-> PostAccountRequestBodySettings'
PostAccountRequestBodySettings'
    { postAccountRequestBodySettings'Branding :: Maybe PostAccountRequestBodySettings'Branding'
postAccountRequestBodySettings'Branding = Maybe PostAccountRequestBodySettings'Branding'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'CardIssuing :: Maybe PostAccountRequestBodySettings'CardIssuing'
postAccountRequestBodySettings'CardIssuing = Maybe PostAccountRequestBodySettings'CardIssuing'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'CardPayments :: Maybe PostAccountRequestBodySettings'CardPayments'
postAccountRequestBodySettings'CardPayments = Maybe PostAccountRequestBodySettings'CardPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'Payments :: Maybe PostAccountRequestBodySettings'Payments'
postAccountRequestBodySettings'Payments = Maybe PostAccountRequestBodySettings'Payments'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'Payouts :: Maybe PostAccountRequestBodySettings'Payouts'
postAccountRequestBodySettings'Payouts = Maybe PostAccountRequestBodySettings'Payouts'
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.settings.properties.branding@ in the specification.
data PostAccountRequestBodySettings'Branding' = PostAccountRequestBodySettings'Branding'
  { -- | icon
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodySettings'Branding' -> Maybe Text
postAccountRequestBodySettings'Branding'Icon :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | logo
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
     :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | primary_color
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodySettings'Branding' -> Maybe Text
postAccountRequestBodySettings'Branding'PrimaryColor :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | secondary_color
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodySettings'Branding' -> Maybe Text
postAccountRequestBodySettings'Branding'SecondaryColor :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> PostAccountRequestBodySettings'Branding' -> ShowS
[PostAccountRequestBodySettings'Branding'] -> ShowS
PostAccountRequestBodySettings'Branding' -> String
(Int -> PostAccountRequestBodySettings'Branding' -> ShowS)
-> (PostAccountRequestBodySettings'Branding' -> String)
-> ([PostAccountRequestBodySettings'Branding'] -> ShowS)
-> Show PostAccountRequestBodySettings'Branding'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodySettings'Branding'] -> ShowS
$cshowList :: [PostAccountRequestBodySettings'Branding'] -> ShowS
show :: PostAccountRequestBodySettings'Branding' -> String
$cshow :: PostAccountRequestBodySettings'Branding' -> String
showsPrec :: Int -> PostAccountRequestBodySettings'Branding' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodySettings'Branding' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodySettings'Branding'
-> PostAccountRequestBodySettings'Branding' -> Bool
(PostAccountRequestBodySettings'Branding'
 -> PostAccountRequestBodySettings'Branding' -> Bool)
-> (PostAccountRequestBodySettings'Branding'
    -> PostAccountRequestBodySettings'Branding' -> Bool)
-> Eq PostAccountRequestBodySettings'Branding'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodySettings'Branding'
-> PostAccountRequestBodySettings'Branding' -> Bool
$c/= :: PostAccountRequestBodySettings'Branding'
-> PostAccountRequestBodySettings'Branding' -> Bool
== :: PostAccountRequestBodySettings'Branding'
-> PostAccountRequestBodySettings'Branding' -> Bool
$c== :: PostAccountRequestBodySettings'Branding'
-> PostAccountRequestBodySettings'Branding' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodySettings'Branding' where
  toJSON :: PostAccountRequestBodySettings'Branding' -> Value
toJSON PostAccountRequestBodySettings'Branding'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"icon" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Branding' -> Maybe Text
postAccountRequestBodySettings'Branding'Icon PostAccountRequestBodySettings'Branding'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"logo" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Branding' -> Maybe Text
postAccountRequestBodySettings'Branding'Logo PostAccountRequestBodySettings'Branding'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"primary_color" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Branding' -> Maybe Text
postAccountRequestBodySettings'Branding'PrimaryColor PostAccountRequestBodySettings'Branding'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"secondary_color" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Branding' -> Maybe Text
postAccountRequestBodySettings'Branding'SecondaryColor PostAccountRequestBodySettings'Branding'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodySettings'Branding' -> Encoding
toEncoding PostAccountRequestBodySettings'Branding'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"icon" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Branding' -> Maybe Text
postAccountRequestBodySettings'Branding'Icon PostAccountRequestBodySettings'Branding'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"logo" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Branding' -> Maybe Text
postAccountRequestBodySettings'Branding'Logo PostAccountRequestBodySettings'Branding'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"primary_color" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Branding' -> Maybe Text
postAccountRequestBodySettings'Branding'PrimaryColor PostAccountRequestBodySettings'Branding'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"secondary_color" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Branding' -> Maybe Text
postAccountRequestBodySettings'Branding'SecondaryColor PostAccountRequestBodySettings'Branding'
obj))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodySettings'Branding' where
  parseJSON :: Value -> Parser PostAccountRequestBodySettings'Branding'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodySettings'Branding')
-> Value
-> Parser PostAccountRequestBodySettings'Branding'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodySettings'Branding'" (\Object
obj -> ((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> PostAccountRequestBodySettings'Branding')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodySettings'Branding')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodySettings'Branding'
PostAccountRequestBodySettings'Branding' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodySettings'Branding')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodySettings'Branding')
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
"icon")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodySettings'Branding')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> PostAccountRequestBodySettings'Branding')
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
"logo")) Parser
  (Maybe Text
   -> Maybe Text -> PostAccountRequestBodySettings'Branding')
-> Parser (Maybe Text)
-> Parser (Maybe Text -> PostAccountRequestBodySettings'Branding')
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
"primary_color")) Parser (Maybe Text -> PostAccountRequestBodySettings'Branding')
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodySettings'Branding'
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
"secondary_color"))

-- | Create a new 'PostAccountRequestBodySettings'Branding'' with all required fields.
mkPostAccountRequestBodySettings'Branding' :: PostAccountRequestBodySettings'Branding'
mkPostAccountRequestBodySettings'Branding' :: PostAccountRequestBodySettings'Branding'
mkPostAccountRequestBodySettings'Branding' =
  PostAccountRequestBodySettings'Branding' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodySettings'Branding'
PostAccountRequestBodySettings'Branding'
    { postAccountRequestBodySettings'Branding'Icon :: Maybe Text
postAccountRequestBodySettings'Branding'Icon = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'Branding'Logo :: Maybe Text
postAccountRequestBodySettings'Branding'Logo = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'Branding'PrimaryColor :: Maybe Text
postAccountRequestBodySettings'Branding'PrimaryColor = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'Branding'SecondaryColor :: Maybe Text
postAccountRequestBodySettings'Branding'SecondaryColor = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.settings.properties.card_issuing@ in the specification.
data PostAccountRequestBodySettings'CardIssuing' = PostAccountRequestBodySettings'CardIssuing'
  { -- | tos_acceptance
    PostAccountRequestBodySettings'CardIssuing'
-> Maybe PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
postAccountRequestBodySettings'CardIssuing'TosAcceptance :: (GHC.Maybe.Maybe PostAccountRequestBodySettings'CardIssuing'TosAcceptance')
  }
  deriving
    ( Int -> PostAccountRequestBodySettings'CardIssuing' -> ShowS
[PostAccountRequestBodySettings'CardIssuing'] -> ShowS
PostAccountRequestBodySettings'CardIssuing' -> String
(Int -> PostAccountRequestBodySettings'CardIssuing' -> ShowS)
-> (PostAccountRequestBodySettings'CardIssuing' -> String)
-> ([PostAccountRequestBodySettings'CardIssuing'] -> ShowS)
-> Show PostAccountRequestBodySettings'CardIssuing'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodySettings'CardIssuing'] -> ShowS
$cshowList :: [PostAccountRequestBodySettings'CardIssuing'] -> ShowS
show :: PostAccountRequestBodySettings'CardIssuing' -> String
$cshow :: PostAccountRequestBodySettings'CardIssuing' -> String
showsPrec :: Int -> PostAccountRequestBodySettings'CardIssuing' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodySettings'CardIssuing' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodySettings'CardIssuing'
-> PostAccountRequestBodySettings'CardIssuing' -> Bool
(PostAccountRequestBodySettings'CardIssuing'
 -> PostAccountRequestBodySettings'CardIssuing' -> Bool)
-> (PostAccountRequestBodySettings'CardIssuing'
    -> PostAccountRequestBodySettings'CardIssuing' -> Bool)
-> Eq PostAccountRequestBodySettings'CardIssuing'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodySettings'CardIssuing'
-> PostAccountRequestBodySettings'CardIssuing' -> Bool
$c/= :: PostAccountRequestBodySettings'CardIssuing'
-> PostAccountRequestBodySettings'CardIssuing' -> Bool
== :: PostAccountRequestBodySettings'CardIssuing'
-> PostAccountRequestBodySettings'CardIssuing' -> Bool
$c== :: PostAccountRequestBodySettings'CardIssuing'
-> PostAccountRequestBodySettings'CardIssuing' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodySettings'CardIssuing' where
  toJSON :: PostAccountRequestBodySettings'CardIssuing' -> Value
toJSON PostAccountRequestBodySettings'CardIssuing'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"tos_acceptance" Text
-> Maybe PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'CardIssuing'
-> Maybe PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
postAccountRequestBodySettings'CardIssuing'TosAcceptance PostAccountRequestBodySettings'CardIssuing'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodySettings'CardIssuing' -> Encoding
toEncoding PostAccountRequestBodySettings'CardIssuing'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"tos_acceptance" Text
-> Maybe PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'CardIssuing'
-> Maybe PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
postAccountRequestBodySettings'CardIssuing'TosAcceptance PostAccountRequestBodySettings'CardIssuing'
obj)

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodySettings'CardIssuing' where
  parseJSON :: Value -> Parser PostAccountRequestBodySettings'CardIssuing'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodySettings'CardIssuing')
-> Value
-> Parser PostAccountRequestBodySettings'CardIssuing'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodySettings'CardIssuing'" (\Object
obj -> (Maybe PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
 -> PostAccountRequestBodySettings'CardIssuing')
-> Parser
     (Maybe PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
      -> PostAccountRequestBodySettings'CardIssuing')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> PostAccountRequestBodySettings'CardIssuing'
PostAccountRequestBodySettings'CardIssuing' Parser
  (Maybe PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
   -> PostAccountRequestBodySettings'CardIssuing')
-> Parser
     (Maybe PostAccountRequestBodySettings'CardIssuing'TosAcceptance')
-> Parser PostAccountRequestBodySettings'CardIssuing'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodySettings'CardIssuing'TosAcceptance')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tos_acceptance"))

-- | Create a new 'PostAccountRequestBodySettings'CardIssuing'' with all required fields.
mkPostAccountRequestBodySettings'CardIssuing' :: PostAccountRequestBodySettings'CardIssuing'
mkPostAccountRequestBodySettings'CardIssuing' :: PostAccountRequestBodySettings'CardIssuing'
mkPostAccountRequestBodySettings'CardIssuing' = PostAccountRequestBodySettings'CardIssuing' :: Maybe PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> PostAccountRequestBodySettings'CardIssuing'
PostAccountRequestBodySettings'CardIssuing' {postAccountRequestBodySettings'CardIssuing'TosAcceptance :: Maybe PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
postAccountRequestBodySettings'CardIssuing'TosAcceptance = Maybe PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.settings.properties.card_issuing.properties.tos_acceptance@ in the specification.
data PostAccountRequestBodySettings'CardIssuing'TosAcceptance' = PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
  { -- | date
    PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Maybe Int
postAccountRequestBodySettings'CardIssuing'TosAcceptance'Date :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | ip
    PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Maybe Text
postAccountRequestBodySettings'CardIssuing'TosAcceptance'Ip :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | user_agent
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Maybe Text
postAccountRequestBodySettings'CardIssuing'TosAcceptance'UserAgent :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> ShowS
[PostAccountRequestBodySettings'CardIssuing'TosAcceptance']
-> ShowS
PostAccountRequestBodySettings'CardIssuing'TosAcceptance' -> String
(Int
 -> PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
 -> ShowS)
-> (PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
    -> String)
-> ([PostAccountRequestBodySettings'CardIssuing'TosAcceptance']
    -> ShowS)
-> Show PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodySettings'CardIssuing'TosAcceptance']
-> ShowS
$cshowList :: [PostAccountRequestBodySettings'CardIssuing'TosAcceptance']
-> ShowS
show :: PostAccountRequestBodySettings'CardIssuing'TosAcceptance' -> String
$cshow :: PostAccountRequestBodySettings'CardIssuing'TosAcceptance' -> String
showsPrec :: Int
-> PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> ShowS
GHC.Show.Show,
      PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Bool
(PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
 -> PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
 -> Bool)
-> (PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
    -> PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
    -> Bool)
-> Eq PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Bool
$c/= :: PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Bool
== :: PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Bool
$c== :: PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodySettings'CardIssuing'TosAcceptance' where
  toJSON :: PostAccountRequestBodySettings'CardIssuing'TosAcceptance' -> Value
toJSON PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"date" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Maybe Int
postAccountRequestBodySettings'CardIssuing'TosAcceptance'Date PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"ip" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Maybe Text
postAccountRequestBodySettings'CardIssuing'TosAcceptance'Ip PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"user_agent" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Maybe Text
postAccountRequestBodySettings'CardIssuing'TosAcceptance'UserAgent PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Encoding
toEncoding PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"date" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Maybe Int
postAccountRequestBodySettings'CardIssuing'TosAcceptance'Date PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"ip" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Maybe Text
postAccountRequestBodySettings'CardIssuing'TosAcceptance'Ip PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"user_agent" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
-> Maybe Text
postAccountRequestBodySettings'CardIssuing'TosAcceptance'UserAgent PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
obj)))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodySettings'CardIssuing'TosAcceptance' where
  parseJSON :: Value
-> Parser PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
parseJSON = String
-> (Object
    -> Parser
         PostAccountRequestBodySettings'CardIssuing'TosAcceptance')
-> Value
-> Parser PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodySettings'CardIssuing'TosAcceptance'" (\Object
obj -> (((Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> PostAccountRequestBodySettings'CardIssuing'TosAcceptance')
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodySettings'CardIssuing'TosAcceptance')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Int
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
PostAccountRequestBodySettings'CardIssuing'TosAcceptance' Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodySettings'CardIssuing'TosAcceptance')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodySettings'CardIssuing'TosAcceptance')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"date")) Parser
  (Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodySettings'CardIssuing'TosAcceptance')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> PostAccountRequestBodySettings'CardIssuing'TosAcceptance')
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
"ip")) Parser
  (Maybe Text
   -> PostAccountRequestBodySettings'CardIssuing'TosAcceptance')
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
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
"user_agent"))

-- | Create a new 'PostAccountRequestBodySettings'CardIssuing'TosAcceptance'' with all required fields.
mkPostAccountRequestBodySettings'CardIssuing'TosAcceptance' :: PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
mkPostAccountRequestBodySettings'CardIssuing'TosAcceptance' :: PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
mkPostAccountRequestBodySettings'CardIssuing'TosAcceptance' =
  PostAccountRequestBodySettings'CardIssuing'TosAcceptance' :: Maybe Int
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
PostAccountRequestBodySettings'CardIssuing'TosAcceptance'
    { postAccountRequestBodySettings'CardIssuing'TosAcceptance'Date :: Maybe Int
postAccountRequestBodySettings'CardIssuing'TosAcceptance'Date = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'CardIssuing'TosAcceptance'Ip :: Maybe Text
postAccountRequestBodySettings'CardIssuing'TosAcceptance'Ip = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'CardIssuing'TosAcceptance'UserAgent :: Maybe Text
postAccountRequestBodySettings'CardIssuing'TosAcceptance'UserAgent = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.settings.properties.card_payments@ in the specification.
data PostAccountRequestBodySettings'CardPayments' = PostAccountRequestBodySettings'CardPayments'
  { -- | decline_on
    PostAccountRequestBodySettings'CardPayments'
-> Maybe PostAccountRequestBodySettings'CardPayments'DeclineOn'
postAccountRequestBodySettings'CardPayments'DeclineOn :: (GHC.Maybe.Maybe PostAccountRequestBodySettings'CardPayments'DeclineOn'),
    -- | statement_descriptor_prefix
    --
    -- Constraints:
    --
    -- * Maximum length of 10
    PostAccountRequestBodySettings'CardPayments' -> Maybe Text
postAccountRequestBodySettings'CardPayments'StatementDescriptorPrefix :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> PostAccountRequestBodySettings'CardPayments' -> ShowS
[PostAccountRequestBodySettings'CardPayments'] -> ShowS
PostAccountRequestBodySettings'CardPayments' -> String
(Int -> PostAccountRequestBodySettings'CardPayments' -> ShowS)
-> (PostAccountRequestBodySettings'CardPayments' -> String)
-> ([PostAccountRequestBodySettings'CardPayments'] -> ShowS)
-> Show PostAccountRequestBodySettings'CardPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodySettings'CardPayments'] -> ShowS
$cshowList :: [PostAccountRequestBodySettings'CardPayments'] -> ShowS
show :: PostAccountRequestBodySettings'CardPayments' -> String
$cshow :: PostAccountRequestBodySettings'CardPayments' -> String
showsPrec :: Int -> PostAccountRequestBodySettings'CardPayments' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodySettings'CardPayments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodySettings'CardPayments'
-> PostAccountRequestBodySettings'CardPayments' -> Bool
(PostAccountRequestBodySettings'CardPayments'
 -> PostAccountRequestBodySettings'CardPayments' -> Bool)
-> (PostAccountRequestBodySettings'CardPayments'
    -> PostAccountRequestBodySettings'CardPayments' -> Bool)
-> Eq PostAccountRequestBodySettings'CardPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodySettings'CardPayments'
-> PostAccountRequestBodySettings'CardPayments' -> Bool
$c/= :: PostAccountRequestBodySettings'CardPayments'
-> PostAccountRequestBodySettings'CardPayments' -> Bool
== :: PostAccountRequestBodySettings'CardPayments'
-> PostAccountRequestBodySettings'CardPayments' -> Bool
$c== :: PostAccountRequestBodySettings'CardPayments'
-> PostAccountRequestBodySettings'CardPayments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodySettings'CardPayments' where
  toJSON :: PostAccountRequestBodySettings'CardPayments' -> Value
toJSON PostAccountRequestBodySettings'CardPayments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"decline_on" Text
-> Maybe PostAccountRequestBodySettings'CardPayments'DeclineOn'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'CardPayments'
-> Maybe PostAccountRequestBodySettings'CardPayments'DeclineOn'
postAccountRequestBodySettings'CardPayments'DeclineOn PostAccountRequestBodySettings'CardPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"statement_descriptor_prefix" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'CardPayments' -> Maybe Text
postAccountRequestBodySettings'CardPayments'StatementDescriptorPrefix PostAccountRequestBodySettings'CardPayments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodySettings'CardPayments' -> Encoding
toEncoding PostAccountRequestBodySettings'CardPayments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"decline_on" Text
-> Maybe PostAccountRequestBodySettings'CardPayments'DeclineOn'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'CardPayments'
-> Maybe PostAccountRequestBodySettings'CardPayments'DeclineOn'
postAccountRequestBodySettings'CardPayments'DeclineOn PostAccountRequestBodySettings'CardPayments'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"statement_descriptor_prefix" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'CardPayments' -> Maybe Text
postAccountRequestBodySettings'CardPayments'StatementDescriptorPrefix PostAccountRequestBodySettings'CardPayments'
obj))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodySettings'CardPayments' where
  parseJSON :: Value -> Parser PostAccountRequestBodySettings'CardPayments'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodySettings'CardPayments')
-> Value
-> Parser PostAccountRequestBodySettings'CardPayments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodySettings'CardPayments'" (\Object
obj -> ((Maybe PostAccountRequestBodySettings'CardPayments'DeclineOn'
 -> Maybe Text -> PostAccountRequestBodySettings'CardPayments')
-> Parser
     (Maybe PostAccountRequestBodySettings'CardPayments'DeclineOn'
      -> Maybe Text -> PostAccountRequestBodySettings'CardPayments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe PostAccountRequestBodySettings'CardPayments'DeclineOn'
-> Maybe Text -> PostAccountRequestBodySettings'CardPayments'
PostAccountRequestBodySettings'CardPayments' Parser
  (Maybe PostAccountRequestBodySettings'CardPayments'DeclineOn'
   -> Maybe Text -> PostAccountRequestBodySettings'CardPayments')
-> Parser
     (Maybe PostAccountRequestBodySettings'CardPayments'DeclineOn')
-> Parser
     (Maybe Text -> PostAccountRequestBodySettings'CardPayments')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodySettings'CardPayments'DeclineOn')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"decline_on")) Parser (Maybe Text -> PostAccountRequestBodySettings'CardPayments')
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodySettings'CardPayments'
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
"statement_descriptor_prefix"))

-- | Create a new 'PostAccountRequestBodySettings'CardPayments'' with all required fields.
mkPostAccountRequestBodySettings'CardPayments' :: PostAccountRequestBodySettings'CardPayments'
mkPostAccountRequestBodySettings'CardPayments' :: PostAccountRequestBodySettings'CardPayments'
mkPostAccountRequestBodySettings'CardPayments' =
  PostAccountRequestBodySettings'CardPayments' :: Maybe PostAccountRequestBodySettings'CardPayments'DeclineOn'
-> Maybe Text -> PostAccountRequestBodySettings'CardPayments'
PostAccountRequestBodySettings'CardPayments'
    { postAccountRequestBodySettings'CardPayments'DeclineOn :: Maybe PostAccountRequestBodySettings'CardPayments'DeclineOn'
postAccountRequestBodySettings'CardPayments'DeclineOn = Maybe PostAccountRequestBodySettings'CardPayments'DeclineOn'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'CardPayments'StatementDescriptorPrefix :: Maybe Text
postAccountRequestBodySettings'CardPayments'StatementDescriptorPrefix = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.settings.properties.card_payments.properties.decline_on@ in the specification.
data PostAccountRequestBodySettings'CardPayments'DeclineOn' = PostAccountRequestBodySettings'CardPayments'DeclineOn'
  { -- | avs_failure
    PostAccountRequestBodySettings'CardPayments'DeclineOn'
-> Maybe Bool
postAccountRequestBodySettings'CardPayments'DeclineOn'AvsFailure :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | cvc_failure
    PostAccountRequestBodySettings'CardPayments'DeclineOn'
-> Maybe Bool
postAccountRequestBodySettings'CardPayments'DeclineOn'CvcFailure :: (GHC.Maybe.Maybe GHC.Types.Bool)
  }
  deriving
    ( Int
-> PostAccountRequestBodySettings'CardPayments'DeclineOn' -> ShowS
[PostAccountRequestBodySettings'CardPayments'DeclineOn'] -> ShowS
PostAccountRequestBodySettings'CardPayments'DeclineOn' -> String
(Int
 -> PostAccountRequestBodySettings'CardPayments'DeclineOn' -> ShowS)
-> (PostAccountRequestBodySettings'CardPayments'DeclineOn'
    -> String)
-> ([PostAccountRequestBodySettings'CardPayments'DeclineOn']
    -> ShowS)
-> Show PostAccountRequestBodySettings'CardPayments'DeclineOn'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodySettings'CardPayments'DeclineOn'] -> ShowS
$cshowList :: [PostAccountRequestBodySettings'CardPayments'DeclineOn'] -> ShowS
show :: PostAccountRequestBodySettings'CardPayments'DeclineOn' -> String
$cshow :: PostAccountRequestBodySettings'CardPayments'DeclineOn' -> String
showsPrec :: Int
-> PostAccountRequestBodySettings'CardPayments'DeclineOn' -> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodySettings'CardPayments'DeclineOn' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodySettings'CardPayments'DeclineOn'
-> PostAccountRequestBodySettings'CardPayments'DeclineOn' -> Bool
(PostAccountRequestBodySettings'CardPayments'DeclineOn'
 -> PostAccountRequestBodySettings'CardPayments'DeclineOn' -> Bool)
-> (PostAccountRequestBodySettings'CardPayments'DeclineOn'
    -> PostAccountRequestBodySettings'CardPayments'DeclineOn' -> Bool)
-> Eq PostAccountRequestBodySettings'CardPayments'DeclineOn'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodySettings'CardPayments'DeclineOn'
-> PostAccountRequestBodySettings'CardPayments'DeclineOn' -> Bool
$c/= :: PostAccountRequestBodySettings'CardPayments'DeclineOn'
-> PostAccountRequestBodySettings'CardPayments'DeclineOn' -> Bool
== :: PostAccountRequestBodySettings'CardPayments'DeclineOn'
-> PostAccountRequestBodySettings'CardPayments'DeclineOn' -> Bool
$c== :: PostAccountRequestBodySettings'CardPayments'DeclineOn'
-> PostAccountRequestBodySettings'CardPayments'DeclineOn' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodySettings'CardPayments'DeclineOn' where
  toJSON :: PostAccountRequestBodySettings'CardPayments'DeclineOn' -> Value
toJSON PostAccountRequestBodySettings'CardPayments'DeclineOn'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"avs_failure" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'CardPayments'DeclineOn'
-> Maybe Bool
postAccountRequestBodySettings'CardPayments'DeclineOn'AvsFailure PostAccountRequestBodySettings'CardPayments'DeclineOn'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"cvc_failure" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'CardPayments'DeclineOn'
-> Maybe Bool
postAccountRequestBodySettings'CardPayments'DeclineOn'CvcFailure PostAccountRequestBodySettings'CardPayments'DeclineOn'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodySettings'CardPayments'DeclineOn' -> Encoding
toEncoding PostAccountRequestBodySettings'CardPayments'DeclineOn'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"avs_failure" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'CardPayments'DeclineOn'
-> Maybe Bool
postAccountRequestBodySettings'CardPayments'DeclineOn'AvsFailure PostAccountRequestBodySettings'CardPayments'DeclineOn'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"cvc_failure" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'CardPayments'DeclineOn'
-> Maybe Bool
postAccountRequestBodySettings'CardPayments'DeclineOn'CvcFailure PostAccountRequestBodySettings'CardPayments'DeclineOn'
obj))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodySettings'CardPayments'DeclineOn' where
  parseJSON :: Value
-> Parser PostAccountRequestBodySettings'CardPayments'DeclineOn'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodySettings'CardPayments'DeclineOn')
-> Value
-> Parser PostAccountRequestBodySettings'CardPayments'DeclineOn'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodySettings'CardPayments'DeclineOn'" (\Object
obj -> ((Maybe Bool
 -> Maybe Bool
 -> PostAccountRequestBodySettings'CardPayments'DeclineOn')
-> Parser
     (Maybe Bool
      -> Maybe Bool
      -> PostAccountRequestBodySettings'CardPayments'DeclineOn')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool
-> Maybe Bool
-> PostAccountRequestBodySettings'CardPayments'DeclineOn'
PostAccountRequestBodySettings'CardPayments'DeclineOn' Parser
  (Maybe Bool
   -> Maybe Bool
   -> PostAccountRequestBodySettings'CardPayments'DeclineOn')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Bool
      -> PostAccountRequestBodySettings'CardPayments'DeclineOn')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"avs_failure")) Parser
  (Maybe Bool
   -> PostAccountRequestBodySettings'CardPayments'DeclineOn')
-> Parser (Maybe Bool)
-> Parser PostAccountRequestBodySettings'CardPayments'DeclineOn'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"cvc_failure"))

-- | Create a new 'PostAccountRequestBodySettings'CardPayments'DeclineOn'' with all required fields.
mkPostAccountRequestBodySettings'CardPayments'DeclineOn' :: PostAccountRequestBodySettings'CardPayments'DeclineOn'
mkPostAccountRequestBodySettings'CardPayments'DeclineOn' :: PostAccountRequestBodySettings'CardPayments'DeclineOn'
mkPostAccountRequestBodySettings'CardPayments'DeclineOn' =
  PostAccountRequestBodySettings'CardPayments'DeclineOn' :: Maybe Bool
-> Maybe Bool
-> PostAccountRequestBodySettings'CardPayments'DeclineOn'
PostAccountRequestBodySettings'CardPayments'DeclineOn'
    { postAccountRequestBodySettings'CardPayments'DeclineOn'AvsFailure :: Maybe Bool
postAccountRequestBodySettings'CardPayments'DeclineOn'AvsFailure = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'CardPayments'DeclineOn'CvcFailure :: Maybe Bool
postAccountRequestBodySettings'CardPayments'DeclineOn'CvcFailure = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.settings.properties.payments@ in the specification.
data PostAccountRequestBodySettings'Payments' = PostAccountRequestBodySettings'Payments'
  { -- | statement_descriptor
    --
    -- Constraints:
    --
    -- * Maximum length of 22
    PostAccountRequestBodySettings'Payments' -> Maybe Text
postAccountRequestBodySettings'Payments'StatementDescriptor :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | statement_descriptor_kana
    --
    -- Constraints:
    --
    -- * Maximum length of 22
    PostAccountRequestBodySettings'Payments' -> Maybe Text
postAccountRequestBodySettings'Payments'StatementDescriptorKana :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | statement_descriptor_kanji
    --
    -- Constraints:
    --
    -- * Maximum length of 22
    PostAccountRequestBodySettings'Payments' -> Maybe Text
postAccountRequestBodySettings'Payments'StatementDescriptorKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> PostAccountRequestBodySettings'Payments' -> ShowS
[PostAccountRequestBodySettings'Payments'] -> ShowS
PostAccountRequestBodySettings'Payments' -> String
(Int -> PostAccountRequestBodySettings'Payments' -> ShowS)
-> (PostAccountRequestBodySettings'Payments' -> String)
-> ([PostAccountRequestBodySettings'Payments'] -> ShowS)
-> Show PostAccountRequestBodySettings'Payments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodySettings'Payments'] -> ShowS
$cshowList :: [PostAccountRequestBodySettings'Payments'] -> ShowS
show :: PostAccountRequestBodySettings'Payments' -> String
$cshow :: PostAccountRequestBodySettings'Payments' -> String
showsPrec :: Int -> PostAccountRequestBodySettings'Payments' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodySettings'Payments' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodySettings'Payments'
-> PostAccountRequestBodySettings'Payments' -> Bool
(PostAccountRequestBodySettings'Payments'
 -> PostAccountRequestBodySettings'Payments' -> Bool)
-> (PostAccountRequestBodySettings'Payments'
    -> PostAccountRequestBodySettings'Payments' -> Bool)
-> Eq PostAccountRequestBodySettings'Payments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodySettings'Payments'
-> PostAccountRequestBodySettings'Payments' -> Bool
$c/= :: PostAccountRequestBodySettings'Payments'
-> PostAccountRequestBodySettings'Payments' -> Bool
== :: PostAccountRequestBodySettings'Payments'
-> PostAccountRequestBodySettings'Payments' -> Bool
$c== :: PostAccountRequestBodySettings'Payments'
-> PostAccountRequestBodySettings'Payments' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodySettings'Payments' where
  toJSON :: PostAccountRequestBodySettings'Payments' -> Value
toJSON PostAccountRequestBodySettings'Payments'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"statement_descriptor" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payments' -> Maybe Text
postAccountRequestBodySettings'Payments'StatementDescriptor PostAccountRequestBodySettings'Payments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"statement_descriptor_kana" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payments' -> Maybe Text
postAccountRequestBodySettings'Payments'StatementDescriptorKana PostAccountRequestBodySettings'Payments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"statement_descriptor_kanji" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payments' -> Maybe Text
postAccountRequestBodySettings'Payments'StatementDescriptorKanji PostAccountRequestBodySettings'Payments'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodySettings'Payments' -> Encoding
toEncoding PostAccountRequestBodySettings'Payments'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"statement_descriptor" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payments' -> Maybe Text
postAccountRequestBodySettings'Payments'StatementDescriptor PostAccountRequestBodySettings'Payments'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"statement_descriptor_kana" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payments' -> Maybe Text
postAccountRequestBodySettings'Payments'StatementDescriptorKana PostAccountRequestBodySettings'Payments'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"statement_descriptor_kanji" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payments' -> Maybe Text
postAccountRequestBodySettings'Payments'StatementDescriptorKanji PostAccountRequestBodySettings'Payments'
obj)))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodySettings'Payments' where
  parseJSON :: Value -> Parser PostAccountRequestBodySettings'Payments'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodySettings'Payments')
-> Value
-> Parser PostAccountRequestBodySettings'Payments'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodySettings'Payments'" (\Object
obj -> (((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> PostAccountRequestBodySettings'Payments')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodySettings'Payments')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodySettings'Payments'
PostAccountRequestBodySettings'Payments' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodySettings'Payments')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> PostAccountRequestBodySettings'Payments')
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
"statement_descriptor")) Parser
  (Maybe Text
   -> Maybe Text -> PostAccountRequestBodySettings'Payments')
-> Parser (Maybe Text)
-> Parser (Maybe Text -> PostAccountRequestBodySettings'Payments')
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
"statement_descriptor_kana")) Parser (Maybe Text -> PostAccountRequestBodySettings'Payments')
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodySettings'Payments'
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
"statement_descriptor_kanji"))

-- | Create a new 'PostAccountRequestBodySettings'Payments'' with all required fields.
mkPostAccountRequestBodySettings'Payments' :: PostAccountRequestBodySettings'Payments'
mkPostAccountRequestBodySettings'Payments' :: PostAccountRequestBodySettings'Payments'
mkPostAccountRequestBodySettings'Payments' =
  PostAccountRequestBodySettings'Payments' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodySettings'Payments'
PostAccountRequestBodySettings'Payments'
    { postAccountRequestBodySettings'Payments'StatementDescriptor :: Maybe Text
postAccountRequestBodySettings'Payments'StatementDescriptor = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'Payments'StatementDescriptorKana :: Maybe Text
postAccountRequestBodySettings'Payments'StatementDescriptorKana = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'Payments'StatementDescriptorKanji :: Maybe Text
postAccountRequestBodySettings'Payments'StatementDescriptorKanji = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.settings.properties.payouts@ in the specification.
data PostAccountRequestBodySettings'Payouts' = PostAccountRequestBodySettings'Payouts'
  { -- | debit_negative_balances
    PostAccountRequestBodySettings'Payouts' -> Maybe Bool
postAccountRequestBodySettings'Payouts'DebitNegativeBalances :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | schedule
    PostAccountRequestBodySettings'Payouts'
-> Maybe PostAccountRequestBodySettings'Payouts'Schedule'
postAccountRequestBodySettings'Payouts'Schedule :: (GHC.Maybe.Maybe PostAccountRequestBodySettings'Payouts'Schedule'),
    -- | statement_descriptor
    --
    -- Constraints:
    --
    -- * Maximum length of 22
    PostAccountRequestBodySettings'Payouts' -> Maybe Text
postAccountRequestBodySettings'Payouts'StatementDescriptor :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> PostAccountRequestBodySettings'Payouts' -> ShowS
[PostAccountRequestBodySettings'Payouts'] -> ShowS
PostAccountRequestBodySettings'Payouts' -> String
(Int -> PostAccountRequestBodySettings'Payouts' -> ShowS)
-> (PostAccountRequestBodySettings'Payouts' -> String)
-> ([PostAccountRequestBodySettings'Payouts'] -> ShowS)
-> Show PostAccountRequestBodySettings'Payouts'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodySettings'Payouts'] -> ShowS
$cshowList :: [PostAccountRequestBodySettings'Payouts'] -> ShowS
show :: PostAccountRequestBodySettings'Payouts' -> String
$cshow :: PostAccountRequestBodySettings'Payouts' -> String
showsPrec :: Int -> PostAccountRequestBodySettings'Payouts' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodySettings'Payouts' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodySettings'Payouts'
-> PostAccountRequestBodySettings'Payouts' -> Bool
(PostAccountRequestBodySettings'Payouts'
 -> PostAccountRequestBodySettings'Payouts' -> Bool)
-> (PostAccountRequestBodySettings'Payouts'
    -> PostAccountRequestBodySettings'Payouts' -> Bool)
-> Eq PostAccountRequestBodySettings'Payouts'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodySettings'Payouts'
-> PostAccountRequestBodySettings'Payouts' -> Bool
$c/= :: PostAccountRequestBodySettings'Payouts'
-> PostAccountRequestBodySettings'Payouts' -> Bool
== :: PostAccountRequestBodySettings'Payouts'
-> PostAccountRequestBodySettings'Payouts' -> Bool
$c== :: PostAccountRequestBodySettings'Payouts'
-> PostAccountRequestBodySettings'Payouts' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodySettings'Payouts' where
  toJSON :: PostAccountRequestBodySettings'Payouts' -> Value
toJSON PostAccountRequestBodySettings'Payouts'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"debit_negative_balances" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payouts' -> Maybe Bool
postAccountRequestBodySettings'Payouts'DebitNegativeBalances PostAccountRequestBodySettings'Payouts'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"schedule" Text
-> Maybe PostAccountRequestBodySettings'Payouts'Schedule' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payouts'
-> Maybe PostAccountRequestBodySettings'Payouts'Schedule'
postAccountRequestBodySettings'Payouts'Schedule PostAccountRequestBodySettings'Payouts'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"statement_descriptor" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payouts' -> Maybe Text
postAccountRequestBodySettings'Payouts'StatementDescriptor PostAccountRequestBodySettings'Payouts'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodySettings'Payouts' -> Encoding
toEncoding PostAccountRequestBodySettings'Payouts'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"debit_negative_balances" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payouts' -> Maybe Bool
postAccountRequestBodySettings'Payouts'DebitNegativeBalances PostAccountRequestBodySettings'Payouts'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"schedule" Text
-> Maybe PostAccountRequestBodySettings'Payouts'Schedule' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payouts'
-> Maybe PostAccountRequestBodySettings'Payouts'Schedule'
postAccountRequestBodySettings'Payouts'Schedule PostAccountRequestBodySettings'Payouts'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"statement_descriptor" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payouts' -> Maybe Text
postAccountRequestBodySettings'Payouts'StatementDescriptor PostAccountRequestBodySettings'Payouts'
obj)))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodySettings'Payouts' where
  parseJSON :: Value -> Parser PostAccountRequestBodySettings'Payouts'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodySettings'Payouts')
-> Value
-> Parser PostAccountRequestBodySettings'Payouts'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodySettings'Payouts'" (\Object
obj -> (((Maybe Bool
 -> Maybe PostAccountRequestBodySettings'Payouts'Schedule'
 -> Maybe Text
 -> PostAccountRequestBodySettings'Payouts')
-> Parser
     (Maybe Bool
      -> Maybe PostAccountRequestBodySettings'Payouts'Schedule'
      -> Maybe Text
      -> PostAccountRequestBodySettings'Payouts')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool
-> Maybe PostAccountRequestBodySettings'Payouts'Schedule'
-> Maybe Text
-> PostAccountRequestBodySettings'Payouts'
PostAccountRequestBodySettings'Payouts' Parser
  (Maybe Bool
   -> Maybe PostAccountRequestBodySettings'Payouts'Schedule'
   -> Maybe Text
   -> PostAccountRequestBodySettings'Payouts')
-> Parser (Maybe Bool)
-> Parser
     (Maybe PostAccountRequestBodySettings'Payouts'Schedule'
      -> Maybe Text -> PostAccountRequestBodySettings'Payouts')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"debit_negative_balances")) Parser
  (Maybe PostAccountRequestBodySettings'Payouts'Schedule'
   -> Maybe Text -> PostAccountRequestBodySettings'Payouts')
-> Parser (Maybe PostAccountRequestBodySettings'Payouts'Schedule')
-> Parser (Maybe Text -> PostAccountRequestBodySettings'Payouts')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostAccountRequestBodySettings'Payouts'Schedule')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"schedule")) Parser (Maybe Text -> PostAccountRequestBodySettings'Payouts')
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodySettings'Payouts'
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
"statement_descriptor"))

-- | Create a new 'PostAccountRequestBodySettings'Payouts'' with all required fields.
mkPostAccountRequestBodySettings'Payouts' :: PostAccountRequestBodySettings'Payouts'
mkPostAccountRequestBodySettings'Payouts' :: PostAccountRequestBodySettings'Payouts'
mkPostAccountRequestBodySettings'Payouts' =
  PostAccountRequestBodySettings'Payouts' :: Maybe Bool
-> Maybe PostAccountRequestBodySettings'Payouts'Schedule'
-> Maybe Text
-> PostAccountRequestBodySettings'Payouts'
PostAccountRequestBodySettings'Payouts'
    { postAccountRequestBodySettings'Payouts'DebitNegativeBalances :: Maybe Bool
postAccountRequestBodySettings'Payouts'DebitNegativeBalances = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'Payouts'Schedule :: Maybe PostAccountRequestBodySettings'Payouts'Schedule'
postAccountRequestBodySettings'Payouts'Schedule = Maybe PostAccountRequestBodySettings'Payouts'Schedule'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'Payouts'StatementDescriptor :: Maybe Text
postAccountRequestBodySettings'Payouts'StatementDescriptor = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.settings.properties.payouts.properties.schedule@ in the specification.
data PostAccountRequestBodySettings'Payouts'Schedule' = PostAccountRequestBodySettings'Payouts'Schedule'
  { -- | delay_days
    PostAccountRequestBodySettings'Payouts'Schedule'
-> Maybe
     PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
postAccountRequestBodySettings'Payouts'Schedule'DelayDays :: (GHC.Maybe.Maybe PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants),
    -- | interval
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodySettings'Payouts'Schedule'
-> Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval'
postAccountRequestBodySettings'Payouts'Schedule'Interval :: (GHC.Maybe.Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval'),
    -- | monthly_anchor
    PostAccountRequestBodySettings'Payouts'Schedule' -> Maybe Int
postAccountRequestBodySettings'Payouts'Schedule'MonthlyAnchor :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | weekly_anchor
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodySettings'Payouts'Schedule'
-> Maybe
     PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
postAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor :: (GHC.Maybe.Maybe PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor')
  }
  deriving
    ( Int -> PostAccountRequestBodySettings'Payouts'Schedule' -> ShowS
[PostAccountRequestBodySettings'Payouts'Schedule'] -> ShowS
PostAccountRequestBodySettings'Payouts'Schedule' -> String
(Int -> PostAccountRequestBodySettings'Payouts'Schedule' -> ShowS)
-> (PostAccountRequestBodySettings'Payouts'Schedule' -> String)
-> ([PostAccountRequestBodySettings'Payouts'Schedule'] -> ShowS)
-> Show PostAccountRequestBodySettings'Payouts'Schedule'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodySettings'Payouts'Schedule'] -> ShowS
$cshowList :: [PostAccountRequestBodySettings'Payouts'Schedule'] -> ShowS
show :: PostAccountRequestBodySettings'Payouts'Schedule' -> String
$cshow :: PostAccountRequestBodySettings'Payouts'Schedule' -> String
showsPrec :: Int -> PostAccountRequestBodySettings'Payouts'Schedule' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodySettings'Payouts'Schedule' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodySettings'Payouts'Schedule'
-> PostAccountRequestBodySettings'Payouts'Schedule' -> Bool
(PostAccountRequestBodySettings'Payouts'Schedule'
 -> PostAccountRequestBodySettings'Payouts'Schedule' -> Bool)
-> (PostAccountRequestBodySettings'Payouts'Schedule'
    -> PostAccountRequestBodySettings'Payouts'Schedule' -> Bool)
-> Eq PostAccountRequestBodySettings'Payouts'Schedule'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodySettings'Payouts'Schedule'
-> PostAccountRequestBodySettings'Payouts'Schedule' -> Bool
$c/= :: PostAccountRequestBodySettings'Payouts'Schedule'
-> PostAccountRequestBodySettings'Payouts'Schedule' -> Bool
== :: PostAccountRequestBodySettings'Payouts'Schedule'
-> PostAccountRequestBodySettings'Payouts'Schedule' -> Bool
$c== :: PostAccountRequestBodySettings'Payouts'Schedule'
-> PostAccountRequestBodySettings'Payouts'Schedule' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodySettings'Payouts'Schedule' where
  toJSON :: PostAccountRequestBodySettings'Payouts'Schedule' -> Value
toJSON PostAccountRequestBodySettings'Payouts'Schedule'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"delay_days" Text
-> Maybe
     PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payouts'Schedule'
-> Maybe
     PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
postAccountRequestBodySettings'Payouts'Schedule'DelayDays PostAccountRequestBodySettings'Payouts'Schedule'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"interval" Text
-> Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payouts'Schedule'
-> Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval'
postAccountRequestBodySettings'Payouts'Schedule'Interval PostAccountRequestBodySettings'Payouts'Schedule'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"monthly_anchor" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payouts'Schedule' -> Maybe Int
postAccountRequestBodySettings'Payouts'Schedule'MonthlyAnchor PostAccountRequestBodySettings'Payouts'Schedule'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"weekly_anchor" Text
-> Maybe
     PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payouts'Schedule'
-> Maybe
     PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
postAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor PostAccountRequestBodySettings'Payouts'Schedule'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodySettings'Payouts'Schedule' -> Encoding
toEncoding PostAccountRequestBodySettings'Payouts'Schedule'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"delay_days" Text
-> Maybe
     PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payouts'Schedule'
-> Maybe
     PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
postAccountRequestBodySettings'Payouts'Schedule'DelayDays PostAccountRequestBodySettings'Payouts'Schedule'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"interval" Text
-> Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payouts'Schedule'
-> Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval'
postAccountRequestBodySettings'Payouts'Schedule'Interval PostAccountRequestBodySettings'Payouts'Schedule'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"monthly_anchor" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payouts'Schedule' -> Maybe Int
postAccountRequestBodySettings'Payouts'Schedule'MonthlyAnchor PostAccountRequestBodySettings'Payouts'Schedule'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"weekly_anchor" Text
-> Maybe
     PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodySettings'Payouts'Schedule'
-> Maybe
     PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
postAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor PostAccountRequestBodySettings'Payouts'Schedule'
obj))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodySettings'Payouts'Schedule' where
  parseJSON :: Value -> Parser PostAccountRequestBodySettings'Payouts'Schedule'
parseJSON = String
-> (Object
    -> Parser PostAccountRequestBodySettings'Payouts'Schedule')
-> Value
-> Parser PostAccountRequestBodySettings'Payouts'Schedule'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodySettings'Payouts'Schedule'" (\Object
obj -> ((((Maybe
   PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
 -> Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval'
 -> Maybe Int
 -> Maybe
      PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
 -> PostAccountRequestBodySettings'Payouts'Schedule')
-> Parser
     (Maybe
        PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
      -> Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval'
      -> Maybe Int
      -> Maybe
           PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
      -> PostAccountRequestBodySettings'Payouts'Schedule')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe
  PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> Maybe Int
-> Maybe
     PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> PostAccountRequestBodySettings'Payouts'Schedule'
PostAccountRequestBodySettings'Payouts'Schedule' Parser
  (Maybe
     PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
   -> Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval'
   -> Maybe Int
   -> Maybe
        PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
   -> PostAccountRequestBodySettings'Payouts'Schedule')
-> Parser
     (Maybe
        PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants)
-> Parser
     (Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval'
      -> Maybe Int
      -> Maybe
           PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
      -> PostAccountRequestBodySettings'Payouts'Schedule')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"delay_days")) Parser
  (Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval'
   -> Maybe Int
   -> Maybe
        PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
   -> PostAccountRequestBodySettings'Payouts'Schedule')
-> Parser
     (Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval')
-> Parser
     (Maybe Int
      -> Maybe
           PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
      -> PostAccountRequestBodySettings'Payouts'Schedule')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"interval")) Parser
  (Maybe Int
   -> Maybe
        PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
   -> PostAccountRequestBodySettings'Payouts'Schedule')
-> Parser (Maybe Int)
-> Parser
     (Maybe
        PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
      -> PostAccountRequestBodySettings'Payouts'Schedule')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"monthly_anchor")) Parser
  (Maybe
     PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
   -> PostAccountRequestBodySettings'Payouts'Schedule')
-> Parser
     (Maybe
        PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor')
-> Parser PostAccountRequestBodySettings'Payouts'Schedule'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"weekly_anchor"))

-- | Create a new 'PostAccountRequestBodySettings'Payouts'Schedule'' with all required fields.
mkPostAccountRequestBodySettings'Payouts'Schedule' :: PostAccountRequestBodySettings'Payouts'Schedule'
mkPostAccountRequestBodySettings'Payouts'Schedule' :: PostAccountRequestBodySettings'Payouts'Schedule'
mkPostAccountRequestBodySettings'Payouts'Schedule' =
  PostAccountRequestBodySettings'Payouts'Schedule' :: Maybe
  PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> Maybe Int
-> Maybe
     PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> PostAccountRequestBodySettings'Payouts'Schedule'
PostAccountRequestBodySettings'Payouts'Schedule'
    { postAccountRequestBodySettings'Payouts'Schedule'DelayDays :: Maybe
  PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
postAccountRequestBodySettings'Payouts'Schedule'DelayDays = Maybe
  PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'Payouts'Schedule'Interval :: Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval'
postAccountRequestBodySettings'Payouts'Schedule'Interval = Maybe PostAccountRequestBodySettings'Payouts'Schedule'Interval'
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'Payouts'Schedule'MonthlyAnchor :: Maybe Int
postAccountRequestBodySettings'Payouts'Schedule'MonthlyAnchor = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor :: Maybe PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
postAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor = Maybe PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.settings.properties.payouts.properties.schedule.properties.delay_days.anyOf@ in the specification.
data PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
  = -- | Represents the JSON value @"minimum"@
    PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Minimum
  | PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Int GHC.Types.Int
  deriving (Int
-> PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> ShowS
[PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants]
-> ShowS
PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> String
(Int
 -> PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
 -> ShowS)
-> (PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
    -> String)
-> ([PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants]
    -> ShowS)
-> Show
     PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants]
-> ShowS
$cshowList :: [PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants]
-> ShowS
show :: PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> String
$cshow :: PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> String
showsPrec :: Int
-> PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> ShowS
GHC.Show.Show, PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> Bool
(PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
 -> PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
 -> Bool)
-> (PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
    -> PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
    -> Bool)
-> Eq
     PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> Bool
$c/= :: PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> Bool
== :: PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> Bool
$c== :: PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants where
  toJSON :: PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> Value
toJSON (PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Int Int
a) = Int -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Int
a
  toJSON (PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Minimum) = Value
"minimum"

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants where
  parseJSON :: Value
-> Parser
     PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"minimum" -> PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> Parser
     PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Minimum
        | Bool
GHC.Base.otherwise -> case (Int
-> PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Int (Int
 -> PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants)
-> Result Int
-> Result
     PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Int
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result
  PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> Result
     PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> Result
     PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
a -> PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
-> Parser
     PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     PostAccountRequestBodySettings'Payouts'Schedule'DelayDays'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the enum schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.settings.properties.payouts.properties.schedule.properties.interval@ in the specification.
data PostAccountRequestBodySettings'Payouts'Schedule'Interval'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    PostAccountRequestBodySettings'Payouts'Schedule'Interval'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    PostAccountRequestBodySettings'Payouts'Schedule'Interval'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"daily"@
    PostAccountRequestBodySettings'Payouts'Schedule'Interval'EnumDaily
  | -- | Represents the JSON value @"manual"@
    PostAccountRequestBodySettings'Payouts'Schedule'Interval'EnumManual
  | -- | Represents the JSON value @"monthly"@
    PostAccountRequestBodySettings'Payouts'Schedule'Interval'EnumMonthly
  | -- | Represents the JSON value @"weekly"@
    PostAccountRequestBodySettings'Payouts'Schedule'Interval'EnumWeekly
  deriving (Int
-> PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> ShowS
[PostAccountRequestBodySettings'Payouts'Schedule'Interval']
-> ShowS
PostAccountRequestBodySettings'Payouts'Schedule'Interval' -> String
(Int
 -> PostAccountRequestBodySettings'Payouts'Schedule'Interval'
 -> ShowS)
-> (PostAccountRequestBodySettings'Payouts'Schedule'Interval'
    -> String)
-> ([PostAccountRequestBodySettings'Payouts'Schedule'Interval']
    -> ShowS)
-> Show PostAccountRequestBodySettings'Payouts'Schedule'Interval'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodySettings'Payouts'Schedule'Interval']
-> ShowS
$cshowList :: [PostAccountRequestBodySettings'Payouts'Schedule'Interval']
-> ShowS
show :: PostAccountRequestBodySettings'Payouts'Schedule'Interval' -> String
$cshow :: PostAccountRequestBodySettings'Payouts'Schedule'Interval' -> String
showsPrec :: Int
-> PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> ShowS
GHC.Show.Show, PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> Bool
(PostAccountRequestBodySettings'Payouts'Schedule'Interval'
 -> PostAccountRequestBodySettings'Payouts'Schedule'Interval'
 -> Bool)
-> (PostAccountRequestBodySettings'Payouts'Schedule'Interval'
    -> PostAccountRequestBodySettings'Payouts'Schedule'Interval'
    -> Bool)
-> Eq PostAccountRequestBodySettings'Payouts'Schedule'Interval'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> Bool
$c/= :: PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> Bool
== :: PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> Bool
$c== :: PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodySettings'Payouts'Schedule'Interval' where
  toJSON :: PostAccountRequestBodySettings'Payouts'Schedule'Interval' -> Value
toJSON (PostAccountRequestBodySettings'Payouts'Schedule'Interval'Other Value
val) = Value
val
  toJSON (PostAccountRequestBodySettings'Payouts'Schedule'Interval'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (PostAccountRequestBodySettings'Payouts'Schedule'Interval'
PostAccountRequestBodySettings'Payouts'Schedule'Interval'EnumDaily) = Value
"daily"
  toJSON (PostAccountRequestBodySettings'Payouts'Schedule'Interval'
PostAccountRequestBodySettings'Payouts'Schedule'Interval'EnumManual) = Value
"manual"
  toJSON (PostAccountRequestBodySettings'Payouts'Schedule'Interval'
PostAccountRequestBodySettings'Payouts'Schedule'Interval'EnumMonthly) = Value
"monthly"
  toJSON (PostAccountRequestBodySettings'Payouts'Schedule'Interval'
PostAccountRequestBodySettings'Payouts'Schedule'Interval'EnumWeekly) = Value
"weekly"

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodySettings'Payouts'Schedule'Interval' where
  parseJSON :: Value
-> Parser PostAccountRequestBodySettings'Payouts'Schedule'Interval'
parseJSON Value
val =
    PostAccountRequestBodySettings'Payouts'Schedule'Interval'
-> Parser PostAccountRequestBodySettings'Payouts'Schedule'Interval'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"daily" -> PostAccountRequestBodySettings'Payouts'Schedule'Interval'
PostAccountRequestBodySettings'Payouts'Schedule'Interval'EnumDaily
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"manual" -> PostAccountRequestBodySettings'Payouts'Schedule'Interval'
PostAccountRequestBodySettings'Payouts'Schedule'Interval'EnumManual
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"monthly" -> PostAccountRequestBodySettings'Payouts'Schedule'Interval'
PostAccountRequestBodySettings'Payouts'Schedule'Interval'EnumMonthly
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"weekly" -> PostAccountRequestBodySettings'Payouts'Schedule'Interval'
PostAccountRequestBodySettings'Payouts'Schedule'Interval'EnumWeekly
            | Bool
GHC.Base.otherwise -> Value -> PostAccountRequestBodySettings'Payouts'Schedule'Interval'
PostAccountRequestBodySettings'Payouts'Schedule'Interval'Other Value
val
      )

-- | Defines the enum schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.settings.properties.payouts.properties.schedule.properties.weekly_anchor@ in the specification.
data PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"friday"@
    PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumFriday
  | -- | Represents the JSON value @"monday"@
    PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumMonday
  | -- | Represents the JSON value @"saturday"@
    PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumSaturday
  | -- | Represents the JSON value @"sunday"@
    PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumSunday
  | -- | Represents the JSON value @"thursday"@
    PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumThursday
  | -- | Represents the JSON value @"tuesday"@
    PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumTuesday
  | -- | Represents the JSON value @"wednesday"@
    PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumWednesday
  deriving (Int
-> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> ShowS
[PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor']
-> ShowS
PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> String
(Int
 -> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
 -> ShowS)
-> (PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
    -> String)
-> ([PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor']
    -> ShowS)
-> Show
     PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor']
-> ShowS
$cshowList :: [PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor']
-> ShowS
show :: PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> String
$cshow :: PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> String
showsPrec :: Int
-> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> ShowS
$cshowsPrec :: Int
-> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> ShowS
GHC.Show.Show, PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> Bool
(PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
 -> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
 -> Bool)
-> (PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
    -> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
    -> Bool)
-> Eq PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> Bool
$c/= :: PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> Bool
== :: PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> Bool
$c== :: PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor' where
  toJSON :: PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> Value
toJSON (PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'Other Value
val) = Value
val
  toJSON (PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumFriday) = Value
"friday"
  toJSON (PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumMonday) = Value
"monday"
  toJSON (PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumSaturday) = Value
"saturday"
  toJSON (PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumSunday) = Value
"sunday"
  toJSON (PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumThursday) = Value
"thursday"
  toJSON (PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumTuesday) = Value
"tuesday"
  toJSON (PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumWednesday) = Value
"wednesday"

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor' where
  parseJSON :: Value
-> Parser
     PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
parseJSON Value
val =
    PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
-> Parser
     PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"friday" -> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumFriday
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"monday" -> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumMonday
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"saturday" -> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumSaturday
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"sunday" -> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumSunday
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"thursday" -> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumThursday
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"tuesday" -> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumTuesday
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"wednesday" -> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'EnumWednesday
            | Bool
GHC.Base.otherwise -> Value
-> PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'
PostAccountRequestBodySettings'Payouts'Schedule'WeeklyAnchor'Other Value
val
      )

-- | Defines the object schema located at @paths.\/v1\/account.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.tos_acceptance@ in the specification.
--
-- Details on the account\'s acceptance of the [Stripe Services Agreement](https:\/\/stripe.com\/docs\/connect\/updating-accounts\#tos-acceptance).
data PostAccountRequestBodyTosAcceptance' = PostAccountRequestBodyTosAcceptance'
  { -- | date
    PostAccountRequestBodyTosAcceptance' -> Maybe Int
postAccountRequestBodyTosAcceptance'Date :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | ip
    PostAccountRequestBodyTosAcceptance' -> Maybe Text
postAccountRequestBodyTosAcceptance'Ip :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | service_agreement
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyTosAcceptance' -> Maybe Text
postAccountRequestBodyTosAcceptance'ServiceAgreement :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | user_agent
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostAccountRequestBodyTosAcceptance' -> Maybe Text
postAccountRequestBodyTosAcceptance'UserAgent :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> PostAccountRequestBodyTosAcceptance' -> ShowS
[PostAccountRequestBodyTosAcceptance'] -> ShowS
PostAccountRequestBodyTosAcceptance' -> String
(Int -> PostAccountRequestBodyTosAcceptance' -> ShowS)
-> (PostAccountRequestBodyTosAcceptance' -> String)
-> ([PostAccountRequestBodyTosAcceptance'] -> ShowS)
-> Show PostAccountRequestBodyTosAcceptance'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountRequestBodyTosAcceptance'] -> ShowS
$cshowList :: [PostAccountRequestBodyTosAcceptance'] -> ShowS
show :: PostAccountRequestBodyTosAcceptance' -> String
$cshow :: PostAccountRequestBodyTosAcceptance' -> String
showsPrec :: Int -> PostAccountRequestBodyTosAcceptance' -> ShowS
$cshowsPrec :: Int -> PostAccountRequestBodyTosAcceptance' -> ShowS
GHC.Show.Show,
      PostAccountRequestBodyTosAcceptance'
-> PostAccountRequestBodyTosAcceptance' -> Bool
(PostAccountRequestBodyTosAcceptance'
 -> PostAccountRequestBodyTosAcceptance' -> Bool)
-> (PostAccountRequestBodyTosAcceptance'
    -> PostAccountRequestBodyTosAcceptance' -> Bool)
-> Eq PostAccountRequestBodyTosAcceptance'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountRequestBodyTosAcceptance'
-> PostAccountRequestBodyTosAcceptance' -> Bool
$c/= :: PostAccountRequestBodyTosAcceptance'
-> PostAccountRequestBodyTosAcceptance' -> Bool
== :: PostAccountRequestBodyTosAcceptance'
-> PostAccountRequestBodyTosAcceptance' -> Bool
$c== :: PostAccountRequestBodyTosAcceptance'
-> PostAccountRequestBodyTosAcceptance' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostAccountRequestBodyTosAcceptance' where
  toJSON :: PostAccountRequestBodyTosAcceptance' -> Value
toJSON PostAccountRequestBodyTosAcceptance'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"date" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyTosAcceptance' -> Maybe Int
postAccountRequestBodyTosAcceptance'Date PostAccountRequestBodyTosAcceptance'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"ip" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyTosAcceptance' -> Maybe Text
postAccountRequestBodyTosAcceptance'Ip PostAccountRequestBodyTosAcceptance'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"service_agreement" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyTosAcceptance' -> Maybe Text
postAccountRequestBodyTosAcceptance'ServiceAgreement PostAccountRequestBodyTosAcceptance'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"user_agent" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyTosAcceptance' -> Maybe Text
postAccountRequestBodyTosAcceptance'UserAgent PostAccountRequestBodyTosAcceptance'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostAccountRequestBodyTosAcceptance' -> Encoding
toEncoding PostAccountRequestBodyTosAcceptance'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"date" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyTosAcceptance' -> Maybe Int
postAccountRequestBodyTosAcceptance'Date PostAccountRequestBodyTosAcceptance'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"ip" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyTosAcceptance' -> Maybe Text
postAccountRequestBodyTosAcceptance'Ip PostAccountRequestBodyTosAcceptance'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"service_agreement" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyTosAcceptance' -> Maybe Text
postAccountRequestBodyTosAcceptance'ServiceAgreement PostAccountRequestBodyTosAcceptance'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"user_agent" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostAccountRequestBodyTosAcceptance' -> Maybe Text
postAccountRequestBodyTosAcceptance'UserAgent PostAccountRequestBodyTosAcceptance'
obj))))

instance Data.Aeson.Types.FromJSON.FromJSON PostAccountRequestBodyTosAcceptance' where
  parseJSON :: Value -> Parser PostAccountRequestBodyTosAcceptance'
parseJSON = String
-> (Object -> Parser PostAccountRequestBodyTosAcceptance')
-> Value
-> Parser PostAccountRequestBodyTosAcceptance'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostAccountRequestBodyTosAcceptance'" (\Object
obj -> ((((Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> PostAccountRequestBodyTosAcceptance')
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyTosAcceptance')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyTosAcceptance'
PostAccountRequestBodyTosAcceptance' Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodyTosAcceptance')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> PostAccountRequestBodyTosAcceptance')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"date")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> PostAccountRequestBodyTosAcceptance')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text -> Maybe Text -> PostAccountRequestBodyTosAcceptance')
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
"ip")) Parser
  (Maybe Text -> Maybe Text -> PostAccountRequestBodyTosAcceptance')
-> Parser (Maybe Text)
-> Parser (Maybe Text -> PostAccountRequestBodyTosAcceptance')
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
"service_agreement")) Parser (Maybe Text -> PostAccountRequestBodyTosAcceptance')
-> Parser (Maybe Text)
-> Parser PostAccountRequestBodyTosAcceptance'
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
"user_agent"))

-- | Create a new 'PostAccountRequestBodyTosAcceptance'' with all required fields.
mkPostAccountRequestBodyTosAcceptance' :: PostAccountRequestBodyTosAcceptance'
mkPostAccountRequestBodyTosAcceptance' :: PostAccountRequestBodyTosAcceptance'
mkPostAccountRequestBodyTosAcceptance' =
  PostAccountRequestBodyTosAcceptance' :: Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> PostAccountRequestBodyTosAcceptance'
PostAccountRequestBodyTosAcceptance'
    { postAccountRequestBodyTosAcceptance'Date :: Maybe Int
postAccountRequestBodyTosAcceptance'Date = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyTosAcceptance'Ip :: Maybe Text
postAccountRequestBodyTosAcceptance'Ip = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyTosAcceptance'ServiceAgreement :: Maybe Text
postAccountRequestBodyTosAcceptance'ServiceAgreement = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postAccountRequestBodyTosAcceptance'UserAgent :: Maybe Text
postAccountRequestBodyTosAcceptance'UserAgent = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Represents a response of the operation 'postAccount'.
--
-- The response constructor is chosen by the status code of the response. If no case matches (no specific case for the response code, no range case, no default case), 'PostAccountResponseError' is used.
data PostAccountResponse
  = -- | Means either no matching case available or a parse error
    PostAccountResponseError GHC.Base.String
  | -- | Successful response.
    PostAccountResponse200 Account
  | -- | Error response.
    PostAccountResponseDefault Error
  deriving (Int -> PostAccountResponse -> ShowS
[PostAccountResponse] -> ShowS
PostAccountResponse -> String
(Int -> PostAccountResponse -> ShowS)
-> (PostAccountResponse -> String)
-> ([PostAccountResponse] -> ShowS)
-> Show PostAccountResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PostAccountResponse] -> ShowS
$cshowList :: [PostAccountResponse] -> ShowS
show :: PostAccountResponse -> String
$cshow :: PostAccountResponse -> String
showsPrec :: Int -> PostAccountResponse -> ShowS
$cshowsPrec :: Int -> PostAccountResponse -> ShowS
GHC.Show.Show, PostAccountResponse -> PostAccountResponse -> Bool
(PostAccountResponse -> PostAccountResponse -> Bool)
-> (PostAccountResponse -> PostAccountResponse -> Bool)
-> Eq PostAccountResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostAccountResponse -> PostAccountResponse -> Bool
$c/= :: PostAccountResponse -> PostAccountResponse -> Bool
== :: PostAccountResponse -> PostAccountResponse -> Bool
$c== :: PostAccountResponse -> PostAccountResponse -> Bool
GHC.Classes.Eq)