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

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

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

-- | Defines the object schema located at @components.schemas.issuing.card@ in the specification.
--
-- You can [create physical or virtual cards](https:\/\/stripe.com\/docs\/issuing\/cards) that are issued to cardholders.
data Issuing'card = Issuing'card
  { -- | brand: The brand of the card.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    Issuing'card -> Text
issuing'cardBrand :: Data.Text.Internal.Text,
    -- | cancellation_reason: The reason why the card was canceled.
    Issuing'card -> Maybe Issuing'cardCancellationReason'
issuing'cardCancellationReason :: (GHC.Maybe.Maybe Issuing'cardCancellationReason'),
    -- | cardholder: An Issuing \`Cardholder\` object represents an individual or business entity who is [issued](https:\/\/stripe.com\/docs\/issuing) cards.
    --
    -- Related guide: [How to create a Cardholder](https:\/\/stripe.com\/docs\/issuing\/cards\#create-cardholder)
    Issuing'card -> Issuing'cardholder
issuing'cardCardholder :: Issuing'cardholder,
    -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
    Issuing'card -> Int
issuing'cardCreated :: GHC.Types.Int,
    -- | currency: Three-letter [ISO currency code](https:\/\/www.iso.org\/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https:\/\/stripe.com\/docs\/currencies).
    Issuing'card -> Text
issuing'cardCurrency :: Data.Text.Internal.Text,
    -- | cvc: The card\'s CVC. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the \`expand\` parameter](https:\/\/stripe.com\/docs\/api\/expanding_objects). Additionally, it\'s only available via the [\"Retrieve a card\" endpoint](https:\/\/stripe.com\/docs\/api\/issuing\/cards\/retrieve), not via \"List all cards\" or any other endpoint.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    Issuing'card -> Maybe Text
issuing'cardCvc :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | exp_month: The expiration month of the card.
    Issuing'card -> Int
issuing'cardExpMonth :: GHC.Types.Int,
    -- | exp_year: The expiration year of the card.
    Issuing'card -> Int
issuing'cardExpYear :: GHC.Types.Int,
    -- | id: Unique identifier for the object.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    Issuing'card -> Text
issuing'cardId :: Data.Text.Internal.Text,
    -- | last4: The last 4 digits of the card number.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    Issuing'card -> Text
issuing'cardLast4 :: Data.Text.Internal.Text,
    -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode.
    Issuing'card -> Bool
issuing'cardLivemode :: GHC.Types.Bool,
    -- | 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.
    Issuing'card -> Object
issuing'cardMetadata :: Data.Aeson.Types.Internal.Object,
    -- | number: The full unredacted card number. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the \`expand\` parameter](https:\/\/stripe.com\/docs\/api\/expanding_objects). Additionally, it\'s only available via the [\"Retrieve a card\" endpoint](https:\/\/stripe.com\/docs\/api\/issuing\/cards\/retrieve), not via \"List all cards\" or any other endpoint.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    Issuing'card -> Maybe Text
issuing'cardNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | replaced_by: The latest card that replaces this card, if any.
    Issuing'card -> Maybe Issuing'cardReplacedBy'Variants
issuing'cardReplacedBy :: (GHC.Maybe.Maybe Issuing'cardReplacedBy'Variants),
    -- | replacement_for: The card this card replaces, if any.
    Issuing'card -> Maybe Issuing'cardReplacementFor'Variants
issuing'cardReplacementFor :: (GHC.Maybe.Maybe Issuing'cardReplacementFor'Variants),
    -- | replacement_reason: The reason why the previous card needed to be replaced.
    Issuing'card -> Maybe Issuing'cardReplacementReason'
issuing'cardReplacementReason :: (GHC.Maybe.Maybe Issuing'cardReplacementReason'),
    -- | shipping: Where and how the card will be shipped.
    Issuing'card -> Maybe Issuing'cardShipping'
issuing'cardShipping :: (GHC.Maybe.Maybe Issuing'cardShipping'),
    -- | spending_controls:
    Issuing'card -> IssuingCardAuthorizationControls
issuing'cardSpendingControls :: IssuingCardAuthorizationControls,
    -- | status: Whether authorizations can be approved on this card.
    Issuing'card -> Issuing'cardStatus'
issuing'cardStatus :: Issuing'cardStatus',
    -- | type: The type of the card.
    Issuing'card -> Issuing'cardType'
issuing'cardType :: Issuing'cardType'
  }
  deriving
    ( Int -> Issuing'card -> ShowS
[Issuing'card] -> ShowS
Issuing'card -> String
(Int -> Issuing'card -> ShowS)
-> (Issuing'card -> String)
-> ([Issuing'card] -> ShowS)
-> Show Issuing'card
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Issuing'card] -> ShowS
$cshowList :: [Issuing'card] -> ShowS
show :: Issuing'card -> String
$cshow :: Issuing'card -> String
showsPrec :: Int -> Issuing'card -> ShowS
$cshowsPrec :: Int -> Issuing'card -> ShowS
GHC.Show.Show,
      Issuing'card -> Issuing'card -> Bool
(Issuing'card -> Issuing'card -> Bool)
-> (Issuing'card -> Issuing'card -> Bool) -> Eq Issuing'card
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Issuing'card -> Issuing'card -> Bool
$c/= :: Issuing'card -> Issuing'card -> Bool
== :: Issuing'card -> Issuing'card -> Bool
$c== :: Issuing'card -> Issuing'card -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON Issuing'card where
  toJSON :: Issuing'card -> Value
toJSON Issuing'card
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"brand" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Text
issuing'cardBrand Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"cancellation_reason" Text -> Maybe Issuing'cardCancellationReason' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Maybe Issuing'cardCancellationReason'
issuing'cardCancellationReason Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"cardholder" Text -> Issuing'cardholder -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Issuing'cardholder
issuing'cardCardholder Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"created" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Int
issuing'cardCreated Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"currency" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Text
issuing'cardCurrency Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"cvc" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Maybe Text
issuing'cardCvc Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"exp_month" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Int
issuing'cardExpMonth Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"exp_year" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Int
issuing'cardExpYear Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"id" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Text
issuing'cardId Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"last4" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Text
issuing'cardLast4 Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"livemode" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Bool
issuing'cardLivemode Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"metadata" Text -> Object -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Object
issuing'cardMetadata Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"number" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Maybe Text
issuing'cardNumber Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"replaced_by" Text -> Maybe Issuing'cardReplacedBy'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Maybe Issuing'cardReplacedBy'Variants
issuing'cardReplacedBy Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"replacement_for" Text -> Maybe Issuing'cardReplacementFor'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Maybe Issuing'cardReplacementFor'Variants
issuing'cardReplacementFor Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"replacement_reason" Text -> Maybe Issuing'cardReplacementReason' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Maybe Issuing'cardReplacementReason'
issuing'cardReplacementReason Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"shipping" Text -> Maybe Issuing'cardShipping' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Maybe Issuing'cardShipping'
issuing'cardShipping Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"spending_controls" Text -> IssuingCardAuthorizationControls -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> IssuingCardAuthorizationControls
issuing'cardSpendingControls Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"status" Text -> Issuing'cardStatus' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Issuing'cardStatus'
issuing'cardStatus Issuing'card
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"type" Text -> Issuing'cardType' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Issuing'cardType'
issuing'cardType Issuing'card
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
"issuing.card" Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: Issuing'card -> Encoding
toEncoding Issuing'card
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"brand" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Text
issuing'cardBrand Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"cancellation_reason" Text -> Maybe Issuing'cardCancellationReason' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Maybe Issuing'cardCancellationReason'
issuing'cardCancellationReason Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"cardholder" Text -> Issuing'cardholder -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Issuing'cardholder
issuing'cardCardholder Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"created" Text -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Int
issuing'cardCreated Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"currency" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Text
issuing'cardCurrency Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"cvc" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Maybe Text
issuing'cardCvc Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"exp_month" Text -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Int
issuing'cardExpMonth Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"exp_year" Text -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Int
issuing'cardExpYear Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"id" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Text
issuing'cardId Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"last4" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Text
issuing'cardLast4 Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"livemode" Text -> Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Bool
issuing'cardLivemode Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"metadata" Text -> Object -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Object
issuing'cardMetadata Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"number" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Maybe Text
issuing'cardNumber Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"replaced_by" Text -> Maybe Issuing'cardReplacedBy'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Maybe Issuing'cardReplacedBy'Variants
issuing'cardReplacedBy Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"replacement_for" Text -> Maybe Issuing'cardReplacementFor'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Maybe Issuing'cardReplacementFor'Variants
issuing'cardReplacementFor Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"replacement_reason" Text -> Maybe Issuing'cardReplacementReason' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Maybe Issuing'cardReplacementReason'
issuing'cardReplacementReason Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"shipping" Text -> Maybe Issuing'cardShipping' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Maybe Issuing'cardShipping'
issuing'cardShipping Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"spending_controls" Text -> IssuingCardAuthorizationControls -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> IssuingCardAuthorizationControls
issuing'cardSpendingControls Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"status" Text -> Issuing'cardStatus' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Issuing'cardStatus'
issuing'cardStatus Issuing'card
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"type" Text -> Issuing'cardType' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'card -> Issuing'cardType'
issuing'cardType Issuing'card
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
"issuing.card")))))))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON Issuing'card where
  parseJSON :: Value -> Parser Issuing'card
parseJSON = String
-> (Object -> Parser Issuing'card) -> Value -> Parser Issuing'card
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"Issuing'card" (\Object
obj -> ((((((((((((((((((((Text
 -> Maybe Issuing'cardCancellationReason'
 -> Issuing'cardholder
 -> Int
 -> Text
 -> Maybe Text
 -> Int
 -> Int
 -> Text
 -> Text
 -> Bool
 -> Object
 -> Maybe Text
 -> Maybe Issuing'cardReplacedBy'Variants
 -> Maybe Issuing'cardReplacementFor'Variants
 -> Maybe Issuing'cardReplacementReason'
 -> Maybe Issuing'cardShipping'
 -> IssuingCardAuthorizationControls
 -> Issuing'cardStatus'
 -> Issuing'cardType'
 -> Issuing'card)
-> Parser
     (Text
      -> Maybe Issuing'cardCancellationReason'
      -> Issuing'cardholder
      -> Int
      -> Text
      -> Maybe Text
      -> Int
      -> Int
      -> Text
      -> Text
      -> Bool
      -> Object
      -> Maybe Text
      -> Maybe Issuing'cardReplacedBy'Variants
      -> Maybe Issuing'cardReplacementFor'Variants
      -> Maybe Issuing'cardReplacementReason'
      -> Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Text
-> Maybe Issuing'cardCancellationReason'
-> Issuing'cardholder
-> Int
-> Text
-> Maybe Text
-> Int
-> Int
-> Text
-> Text
-> Bool
-> Object
-> Maybe Text
-> Maybe Issuing'cardReplacedBy'Variants
-> Maybe Issuing'cardReplacementFor'Variants
-> Maybe Issuing'cardReplacementReason'
-> Maybe Issuing'cardShipping'
-> IssuingCardAuthorizationControls
-> Issuing'cardStatus'
-> Issuing'cardType'
-> Issuing'card
Issuing'card Parser
  (Text
   -> Maybe Issuing'cardCancellationReason'
   -> Issuing'cardholder
   -> Int
   -> Text
   -> Maybe Text
   -> Int
   -> Int
   -> Text
   -> Text
   -> Bool
   -> Object
   -> Maybe Text
   -> Maybe Issuing'cardReplacedBy'Variants
   -> Maybe Issuing'cardReplacementFor'Variants
   -> Maybe Issuing'cardReplacementReason'
   -> Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser Text
-> Parser
     (Maybe Issuing'cardCancellationReason'
      -> Issuing'cardholder
      -> Int
      -> Text
      -> Maybe Text
      -> Int
      -> Int
      -> Text
      -> Text
      -> Bool
      -> Object
      -> Maybe Text
      -> Maybe Issuing'cardReplacedBy'Variants
      -> Maybe Issuing'cardReplacementFor'Variants
      -> Maybe Issuing'cardReplacementReason'
      -> Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
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
"brand")) Parser
  (Maybe Issuing'cardCancellationReason'
   -> Issuing'cardholder
   -> Int
   -> Text
   -> Maybe Text
   -> Int
   -> Int
   -> Text
   -> Text
   -> Bool
   -> Object
   -> Maybe Text
   -> Maybe Issuing'cardReplacedBy'Variants
   -> Maybe Issuing'cardReplacementFor'Variants
   -> Maybe Issuing'cardReplacementReason'
   -> Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser (Maybe Issuing'cardCancellationReason')
-> Parser
     (Issuing'cardholder
      -> Int
      -> Text
      -> Maybe Text
      -> Int
      -> Int
      -> Text
      -> Text
      -> Bool
      -> Object
      -> Maybe Text
      -> Maybe Issuing'cardReplacedBy'Variants
      -> Maybe Issuing'cardReplacementFor'Variants
      -> Maybe Issuing'cardReplacementReason'
      -> Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Issuing'cardCancellationReason')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"cancellation_reason")) Parser
  (Issuing'cardholder
   -> Int
   -> Text
   -> Maybe Text
   -> Int
   -> Int
   -> Text
   -> Text
   -> Bool
   -> Object
   -> Maybe Text
   -> Maybe Issuing'cardReplacedBy'Variants
   -> Maybe Issuing'cardReplacementFor'Variants
   -> Maybe Issuing'cardReplacementReason'
   -> Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser Issuing'cardholder
-> Parser
     (Int
      -> Text
      -> Maybe Text
      -> Int
      -> Int
      -> Text
      -> Text
      -> Bool
      -> Object
      -> Maybe Text
      -> Maybe Issuing'cardReplacedBy'Variants
      -> Maybe Issuing'cardReplacementFor'Variants
      -> Maybe Issuing'cardReplacementReason'
      -> Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Issuing'cardholder
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"cardholder")) Parser
  (Int
   -> Text
   -> Maybe Text
   -> Int
   -> Int
   -> Text
   -> Text
   -> Bool
   -> Object
   -> Maybe Text
   -> Maybe Issuing'cardReplacedBy'Variants
   -> Maybe Issuing'cardReplacementFor'Variants
   -> Maybe Issuing'cardReplacementReason'
   -> Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser Int
-> Parser
     (Text
      -> Maybe Text
      -> Int
      -> Int
      -> Text
      -> Text
      -> Bool
      -> Object
      -> Maybe Text
      -> Maybe Issuing'cardReplacedBy'Variants
      -> Maybe Issuing'cardReplacementFor'Variants
      -> Maybe Issuing'cardReplacementReason'
      -> Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
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
"created")) Parser
  (Text
   -> Maybe Text
   -> Int
   -> Int
   -> Text
   -> Text
   -> Bool
   -> Object
   -> Maybe Text
   -> Maybe Issuing'cardReplacedBy'Variants
   -> Maybe Issuing'cardReplacementFor'Variants
   -> Maybe Issuing'cardReplacementReason'
   -> Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser Text
-> Parser
     (Maybe Text
      -> Int
      -> Int
      -> Text
      -> Text
      -> Bool
      -> Object
      -> Maybe Text
      -> Maybe Issuing'cardReplacedBy'Variants
      -> Maybe Issuing'cardReplacementFor'Variants
      -> Maybe Issuing'cardReplacementReason'
      -> Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
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
"currency")) Parser
  (Maybe Text
   -> Int
   -> Int
   -> Text
   -> Text
   -> Bool
   -> Object
   -> Maybe Text
   -> Maybe Issuing'cardReplacedBy'Variants
   -> Maybe Issuing'cardReplacementFor'Variants
   -> Maybe Issuing'cardReplacementReason'
   -> Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser (Maybe Text)
-> Parser
     (Int
      -> Int
      -> Text
      -> Text
      -> Bool
      -> Object
      -> Maybe Text
      -> Maybe Issuing'cardReplacedBy'Variants
      -> Maybe Issuing'cardReplacementFor'Variants
      -> Maybe Issuing'cardReplacementReason'
      -> Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
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
"cvc")) Parser
  (Int
   -> Int
   -> Text
   -> Text
   -> Bool
   -> Object
   -> Maybe Text
   -> Maybe Issuing'cardReplacedBy'Variants
   -> Maybe Issuing'cardReplacementFor'Variants
   -> Maybe Issuing'cardReplacementReason'
   -> Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser Int
-> Parser
     (Int
      -> Text
      -> Text
      -> Bool
      -> Object
      -> Maybe Text
      -> Maybe Issuing'cardReplacedBy'Variants
      -> Maybe Issuing'cardReplacementFor'Variants
      -> Maybe Issuing'cardReplacementReason'
      -> Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
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
"exp_month")) Parser
  (Int
   -> Text
   -> Text
   -> Bool
   -> Object
   -> Maybe Text
   -> Maybe Issuing'cardReplacedBy'Variants
   -> Maybe Issuing'cardReplacementFor'Variants
   -> Maybe Issuing'cardReplacementReason'
   -> Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser Int
-> Parser
     (Text
      -> Text
      -> Bool
      -> Object
      -> Maybe Text
      -> Maybe Issuing'cardReplacedBy'Variants
      -> Maybe Issuing'cardReplacementFor'Variants
      -> Maybe Issuing'cardReplacementReason'
      -> Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
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
"exp_year")) Parser
  (Text
   -> Text
   -> Bool
   -> Object
   -> Maybe Text
   -> Maybe Issuing'cardReplacedBy'Variants
   -> Maybe Issuing'cardReplacementFor'Variants
   -> Maybe Issuing'cardReplacementReason'
   -> Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser Text
-> Parser
     (Text
      -> Bool
      -> Object
      -> Maybe Text
      -> Maybe Issuing'cardReplacedBy'Variants
      -> Maybe Issuing'cardReplacementFor'Variants
      -> Maybe Issuing'cardReplacementReason'
      -> Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
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
"id")) Parser
  (Text
   -> Bool
   -> Object
   -> Maybe Text
   -> Maybe Issuing'cardReplacedBy'Variants
   -> Maybe Issuing'cardReplacementFor'Variants
   -> Maybe Issuing'cardReplacementReason'
   -> Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser Text
-> Parser
     (Bool
      -> Object
      -> Maybe Text
      -> Maybe Issuing'cardReplacedBy'Variants
      -> Maybe Issuing'cardReplacementFor'Variants
      -> Maybe Issuing'cardReplacementReason'
      -> Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
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
"last4")) Parser
  (Bool
   -> Object
   -> Maybe Text
   -> Maybe Issuing'cardReplacedBy'Variants
   -> Maybe Issuing'cardReplacementFor'Variants
   -> Maybe Issuing'cardReplacementReason'
   -> Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser Bool
-> Parser
     (Object
      -> Maybe Text
      -> Maybe Issuing'cardReplacedBy'Variants
      -> Maybe Issuing'cardReplacementFor'Variants
      -> Maybe Issuing'cardReplacementReason'
      -> Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"livemode")) Parser
  (Object
   -> Maybe Text
   -> Maybe Issuing'cardReplacedBy'Variants
   -> Maybe Issuing'cardReplacementFor'Variants
   -> Maybe Issuing'cardReplacementReason'
   -> Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser Object
-> Parser
     (Maybe Text
      -> Maybe Issuing'cardReplacedBy'Variants
      -> Maybe Issuing'cardReplacementFor'Variants
      -> Maybe Issuing'cardReplacementReason'
      -> Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Object
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"metadata")) Parser
  (Maybe Text
   -> Maybe Issuing'cardReplacedBy'Variants
   -> Maybe Issuing'cardReplacementFor'Variants
   -> Maybe Issuing'cardReplacementReason'
   -> Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser (Maybe Text)
-> Parser
     (Maybe Issuing'cardReplacedBy'Variants
      -> Maybe Issuing'cardReplacementFor'Variants
      -> Maybe Issuing'cardReplacementReason'
      -> Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
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
"number")) Parser
  (Maybe Issuing'cardReplacedBy'Variants
   -> Maybe Issuing'cardReplacementFor'Variants
   -> Maybe Issuing'cardReplacementReason'
   -> Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser (Maybe Issuing'cardReplacedBy'Variants)
-> Parser
     (Maybe Issuing'cardReplacementFor'Variants
      -> Maybe Issuing'cardReplacementReason'
      -> Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Issuing'cardReplacedBy'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"replaced_by")) Parser
  (Maybe Issuing'cardReplacementFor'Variants
   -> Maybe Issuing'cardReplacementReason'
   -> Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser (Maybe Issuing'cardReplacementFor'Variants)
-> Parser
     (Maybe Issuing'cardReplacementReason'
      -> Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe Issuing'cardReplacementFor'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"replacement_for")) Parser
  (Maybe Issuing'cardReplacementReason'
   -> Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser (Maybe Issuing'cardReplacementReason')
-> Parser
     (Maybe Issuing'cardShipping'
      -> IssuingCardAuthorizationControls
      -> Issuing'cardStatus'
      -> Issuing'cardType'
      -> Issuing'card)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Issuing'cardReplacementReason')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"replacement_reason")) Parser
  (Maybe Issuing'cardShipping'
   -> IssuingCardAuthorizationControls
   -> Issuing'cardStatus'
   -> Issuing'cardType'
   -> Issuing'card)
-> Parser (Maybe Issuing'cardShipping')
-> Parser
     (IssuingCardAuthorizationControls
      -> Issuing'cardStatus' -> Issuing'cardType' -> Issuing'card)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Issuing'cardShipping')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"shipping")) Parser
  (IssuingCardAuthorizationControls
   -> Issuing'cardStatus' -> Issuing'cardType' -> Issuing'card)
-> Parser IssuingCardAuthorizationControls
-> Parser
     (Issuing'cardStatus' -> Issuing'cardType' -> Issuing'card)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser IssuingCardAuthorizationControls
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"spending_controls")) Parser (Issuing'cardStatus' -> Issuing'cardType' -> Issuing'card)
-> Parser Issuing'cardStatus'
-> Parser (Issuing'cardType' -> Issuing'card)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Issuing'cardStatus'
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"status")) Parser (Issuing'cardType' -> Issuing'card)
-> Parser Issuing'cardType' -> Parser Issuing'card
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Issuing'cardType'
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"type"))

-- | Create a new 'Issuing'card' with all required fields.
mkIssuing'card ::
  -- | 'issuing'cardBrand'
  Data.Text.Internal.Text ->
  -- | 'issuing'cardCardholder'
  Issuing'cardholder ->
  -- | 'issuing'cardCreated'
  GHC.Types.Int ->
  -- | 'issuing'cardCurrency'
  Data.Text.Internal.Text ->
  -- | 'issuing'cardExpMonth'
  GHC.Types.Int ->
  -- | 'issuing'cardExpYear'
  GHC.Types.Int ->
  -- | 'issuing'cardId'
  Data.Text.Internal.Text ->
  -- | 'issuing'cardLast4'
  Data.Text.Internal.Text ->
  -- | 'issuing'cardLivemode'
  GHC.Types.Bool ->
  -- | 'issuing'cardMetadata'
  Data.Aeson.Types.Internal.Object ->
  -- | 'issuing'cardSpendingControls'
  IssuingCardAuthorizationControls ->
  -- | 'issuing'cardStatus'
  Issuing'cardStatus' ->
  -- | 'issuing'cardType'
  Issuing'cardType' ->
  Issuing'card
mkIssuing'card :: Text
-> Issuing'cardholder
-> Int
-> Text
-> Int
-> Int
-> Text
-> Text
-> Bool
-> Object
-> IssuingCardAuthorizationControls
-> Issuing'cardStatus'
-> Issuing'cardType'
-> Issuing'card
mkIssuing'card Text
issuing'cardBrand Issuing'cardholder
issuing'cardCardholder Int
issuing'cardCreated Text
issuing'cardCurrency Int
issuing'cardExpMonth Int
issuing'cardExpYear Text
issuing'cardId Text
issuing'cardLast4 Bool
issuing'cardLivemode Object
issuing'cardMetadata IssuingCardAuthorizationControls
issuing'cardSpendingControls Issuing'cardStatus'
issuing'cardStatus Issuing'cardType'
issuing'cardType =
  Issuing'card :: Text
-> Maybe Issuing'cardCancellationReason'
-> Issuing'cardholder
-> Int
-> Text
-> Maybe Text
-> Int
-> Int
-> Text
-> Text
-> Bool
-> Object
-> Maybe Text
-> Maybe Issuing'cardReplacedBy'Variants
-> Maybe Issuing'cardReplacementFor'Variants
-> Maybe Issuing'cardReplacementReason'
-> Maybe Issuing'cardShipping'
-> IssuingCardAuthorizationControls
-> Issuing'cardStatus'
-> Issuing'cardType'
-> Issuing'card
Issuing'card
    { issuing'cardBrand :: Text
issuing'cardBrand = Text
issuing'cardBrand,
      issuing'cardCancellationReason :: Maybe Issuing'cardCancellationReason'
issuing'cardCancellationReason = Maybe Issuing'cardCancellationReason'
forall a. Maybe a
GHC.Maybe.Nothing,
      issuing'cardCardholder :: Issuing'cardholder
issuing'cardCardholder = Issuing'cardholder
issuing'cardCardholder,
      issuing'cardCreated :: Int
issuing'cardCreated = Int
issuing'cardCreated,
      issuing'cardCurrency :: Text
issuing'cardCurrency = Text
issuing'cardCurrency,
      issuing'cardCvc :: Maybe Text
issuing'cardCvc = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      issuing'cardExpMonth :: Int
issuing'cardExpMonth = Int
issuing'cardExpMonth,
      issuing'cardExpYear :: Int
issuing'cardExpYear = Int
issuing'cardExpYear,
      issuing'cardId :: Text
issuing'cardId = Text
issuing'cardId,
      issuing'cardLast4 :: Text
issuing'cardLast4 = Text
issuing'cardLast4,
      issuing'cardLivemode :: Bool
issuing'cardLivemode = Bool
issuing'cardLivemode,
      issuing'cardMetadata :: Object
issuing'cardMetadata = Object
issuing'cardMetadata,
      issuing'cardNumber :: Maybe Text
issuing'cardNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      issuing'cardReplacedBy :: Maybe Issuing'cardReplacedBy'Variants
issuing'cardReplacedBy = Maybe Issuing'cardReplacedBy'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      issuing'cardReplacementFor :: Maybe Issuing'cardReplacementFor'Variants
issuing'cardReplacementFor = Maybe Issuing'cardReplacementFor'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      issuing'cardReplacementReason :: Maybe Issuing'cardReplacementReason'
issuing'cardReplacementReason = Maybe Issuing'cardReplacementReason'
forall a. Maybe a
GHC.Maybe.Nothing,
      issuing'cardShipping :: Maybe Issuing'cardShipping'
issuing'cardShipping = Maybe Issuing'cardShipping'
forall a. Maybe a
GHC.Maybe.Nothing,
      issuing'cardSpendingControls :: IssuingCardAuthorizationControls
issuing'cardSpendingControls = IssuingCardAuthorizationControls
issuing'cardSpendingControls,
      issuing'cardStatus :: Issuing'cardStatus'
issuing'cardStatus = Issuing'cardStatus'
issuing'cardStatus,
      issuing'cardType :: Issuing'cardType'
issuing'cardType = Issuing'cardType'
issuing'cardType
    }

-- | Defines the enum schema located at @components.schemas.issuing.card.properties.cancellation_reason@ in the specification.
--
-- The reason why the card was canceled.
data Issuing'cardCancellationReason'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    Issuing'cardCancellationReason'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.
    Issuing'cardCancellationReason'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"lost"@
    Issuing'cardCancellationReason'EnumLost
  | -- | Represents the JSON value @"stolen"@
    Issuing'cardCancellationReason'EnumStolen
  deriving (Int -> Issuing'cardCancellationReason' -> ShowS
[Issuing'cardCancellationReason'] -> ShowS
Issuing'cardCancellationReason' -> String
(Int -> Issuing'cardCancellationReason' -> ShowS)
-> (Issuing'cardCancellationReason' -> String)
-> ([Issuing'cardCancellationReason'] -> ShowS)
-> Show Issuing'cardCancellationReason'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Issuing'cardCancellationReason'] -> ShowS
$cshowList :: [Issuing'cardCancellationReason'] -> ShowS
show :: Issuing'cardCancellationReason' -> String
$cshow :: Issuing'cardCancellationReason' -> String
showsPrec :: Int -> Issuing'cardCancellationReason' -> ShowS
$cshowsPrec :: Int -> Issuing'cardCancellationReason' -> ShowS
GHC.Show.Show, Issuing'cardCancellationReason'
-> Issuing'cardCancellationReason' -> Bool
(Issuing'cardCancellationReason'
 -> Issuing'cardCancellationReason' -> Bool)
-> (Issuing'cardCancellationReason'
    -> Issuing'cardCancellationReason' -> Bool)
-> Eq Issuing'cardCancellationReason'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Issuing'cardCancellationReason'
-> Issuing'cardCancellationReason' -> Bool
$c/= :: Issuing'cardCancellationReason'
-> Issuing'cardCancellationReason' -> Bool
== :: Issuing'cardCancellationReason'
-> Issuing'cardCancellationReason' -> Bool
$c== :: Issuing'cardCancellationReason'
-> Issuing'cardCancellationReason' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardCancellationReason' where
  toJSON :: Issuing'cardCancellationReason' -> Value
toJSON (Issuing'cardCancellationReason'Other Value
val) = Value
val
  toJSON (Issuing'cardCancellationReason'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (Issuing'cardCancellationReason'
Issuing'cardCancellationReason'EnumLost) = Value
"lost"
  toJSON (Issuing'cardCancellationReason'
Issuing'cardCancellationReason'EnumStolen) = Value
"stolen"

instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardCancellationReason' where
  parseJSON :: Value -> Parser Issuing'cardCancellationReason'
parseJSON Value
val =
    Issuing'cardCancellationReason'
-> Parser Issuing'cardCancellationReason'
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
"lost" -> Issuing'cardCancellationReason'
Issuing'cardCancellationReason'EnumLost
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"stolen" -> Issuing'cardCancellationReason'
Issuing'cardCancellationReason'EnumStolen
            | Bool
GHC.Base.otherwise -> Value -> Issuing'cardCancellationReason'
Issuing'cardCancellationReason'Other Value
val
      )

-- | Defines the oneOf schema located at @components.schemas.issuing.card.properties.replaced_by.anyOf@ in the specification.
--
-- The latest card that replaces this card, if any.
data Issuing'cardReplacedBy'Variants
  = Issuing'cardReplacedBy'Text Data.Text.Internal.Text
  | Issuing'cardReplacedBy'Issuing'card Issuing'card
  deriving (Int -> Issuing'cardReplacedBy'Variants -> ShowS
[Issuing'cardReplacedBy'Variants] -> ShowS
Issuing'cardReplacedBy'Variants -> String
(Int -> Issuing'cardReplacedBy'Variants -> ShowS)
-> (Issuing'cardReplacedBy'Variants -> String)
-> ([Issuing'cardReplacedBy'Variants] -> ShowS)
-> Show Issuing'cardReplacedBy'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Issuing'cardReplacedBy'Variants] -> ShowS
$cshowList :: [Issuing'cardReplacedBy'Variants] -> ShowS
show :: Issuing'cardReplacedBy'Variants -> String
$cshow :: Issuing'cardReplacedBy'Variants -> String
showsPrec :: Int -> Issuing'cardReplacedBy'Variants -> ShowS
$cshowsPrec :: Int -> Issuing'cardReplacedBy'Variants -> ShowS
GHC.Show.Show, Issuing'cardReplacedBy'Variants
-> Issuing'cardReplacedBy'Variants -> Bool
(Issuing'cardReplacedBy'Variants
 -> Issuing'cardReplacedBy'Variants -> Bool)
-> (Issuing'cardReplacedBy'Variants
    -> Issuing'cardReplacedBy'Variants -> Bool)
-> Eq Issuing'cardReplacedBy'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Issuing'cardReplacedBy'Variants
-> Issuing'cardReplacedBy'Variants -> Bool
$c/= :: Issuing'cardReplacedBy'Variants
-> Issuing'cardReplacedBy'Variants -> Bool
== :: Issuing'cardReplacedBy'Variants
-> Issuing'cardReplacedBy'Variants -> Bool
$c== :: Issuing'cardReplacedBy'Variants
-> Issuing'cardReplacedBy'Variants -> Bool
GHC.Classes.Eq)

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

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

-- | Defines the oneOf schema located at @components.schemas.issuing.card.properties.replacement_for.anyOf@ in the specification.
--
-- The card this card replaces, if any.
data Issuing'cardReplacementFor'Variants
  = Issuing'cardReplacementFor'Text Data.Text.Internal.Text
  | Issuing'cardReplacementFor'Issuing'card Issuing'card
  deriving (Int -> Issuing'cardReplacementFor'Variants -> ShowS
[Issuing'cardReplacementFor'Variants] -> ShowS
Issuing'cardReplacementFor'Variants -> String
(Int -> Issuing'cardReplacementFor'Variants -> ShowS)
-> (Issuing'cardReplacementFor'Variants -> String)
-> ([Issuing'cardReplacementFor'Variants] -> ShowS)
-> Show Issuing'cardReplacementFor'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Issuing'cardReplacementFor'Variants] -> ShowS
$cshowList :: [Issuing'cardReplacementFor'Variants] -> ShowS
show :: Issuing'cardReplacementFor'Variants -> String
$cshow :: Issuing'cardReplacementFor'Variants -> String
showsPrec :: Int -> Issuing'cardReplacementFor'Variants -> ShowS
$cshowsPrec :: Int -> Issuing'cardReplacementFor'Variants -> ShowS
GHC.Show.Show, Issuing'cardReplacementFor'Variants
-> Issuing'cardReplacementFor'Variants -> Bool
(Issuing'cardReplacementFor'Variants
 -> Issuing'cardReplacementFor'Variants -> Bool)
-> (Issuing'cardReplacementFor'Variants
    -> Issuing'cardReplacementFor'Variants -> Bool)
-> Eq Issuing'cardReplacementFor'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Issuing'cardReplacementFor'Variants
-> Issuing'cardReplacementFor'Variants -> Bool
$c/= :: Issuing'cardReplacementFor'Variants
-> Issuing'cardReplacementFor'Variants -> Bool
== :: Issuing'cardReplacementFor'Variants
-> Issuing'cardReplacementFor'Variants -> Bool
$c== :: Issuing'cardReplacementFor'Variants
-> Issuing'cardReplacementFor'Variants -> Bool
GHC.Classes.Eq)

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

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

-- | Defines the enum schema located at @components.schemas.issuing.card.properties.replacement_reason@ in the specification.
--
-- The reason why the previous card needed to be replaced.
data Issuing'cardReplacementReason'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    Issuing'cardReplacementReason'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.
    Issuing'cardReplacementReason'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"damaged"@
    Issuing'cardReplacementReason'EnumDamaged
  | -- | Represents the JSON value @"expired"@
    Issuing'cardReplacementReason'EnumExpired
  | -- | Represents the JSON value @"lost"@
    Issuing'cardReplacementReason'EnumLost
  | -- | Represents the JSON value @"stolen"@
    Issuing'cardReplacementReason'EnumStolen
  deriving (Int -> Issuing'cardReplacementReason' -> ShowS
[Issuing'cardReplacementReason'] -> ShowS
Issuing'cardReplacementReason' -> String
(Int -> Issuing'cardReplacementReason' -> ShowS)
-> (Issuing'cardReplacementReason' -> String)
-> ([Issuing'cardReplacementReason'] -> ShowS)
-> Show Issuing'cardReplacementReason'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Issuing'cardReplacementReason'] -> ShowS
$cshowList :: [Issuing'cardReplacementReason'] -> ShowS
show :: Issuing'cardReplacementReason' -> String
$cshow :: Issuing'cardReplacementReason' -> String
showsPrec :: Int -> Issuing'cardReplacementReason' -> ShowS
$cshowsPrec :: Int -> Issuing'cardReplacementReason' -> ShowS
GHC.Show.Show, Issuing'cardReplacementReason'
-> Issuing'cardReplacementReason' -> Bool
(Issuing'cardReplacementReason'
 -> Issuing'cardReplacementReason' -> Bool)
-> (Issuing'cardReplacementReason'
    -> Issuing'cardReplacementReason' -> Bool)
-> Eq Issuing'cardReplacementReason'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Issuing'cardReplacementReason'
-> Issuing'cardReplacementReason' -> Bool
$c/= :: Issuing'cardReplacementReason'
-> Issuing'cardReplacementReason' -> Bool
== :: Issuing'cardReplacementReason'
-> Issuing'cardReplacementReason' -> Bool
$c== :: Issuing'cardReplacementReason'
-> Issuing'cardReplacementReason' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardReplacementReason' where
  toJSON :: Issuing'cardReplacementReason' -> Value
toJSON (Issuing'cardReplacementReason'Other Value
val) = Value
val
  toJSON (Issuing'cardReplacementReason'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (Issuing'cardReplacementReason'
Issuing'cardReplacementReason'EnumDamaged) = Value
"damaged"
  toJSON (Issuing'cardReplacementReason'
Issuing'cardReplacementReason'EnumExpired) = Value
"expired"
  toJSON (Issuing'cardReplacementReason'
Issuing'cardReplacementReason'EnumLost) = Value
"lost"
  toJSON (Issuing'cardReplacementReason'
Issuing'cardReplacementReason'EnumStolen) = Value
"stolen"

instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardReplacementReason' where
  parseJSON :: Value -> Parser Issuing'cardReplacementReason'
parseJSON Value
val =
    Issuing'cardReplacementReason'
-> Parser Issuing'cardReplacementReason'
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
"damaged" -> Issuing'cardReplacementReason'
Issuing'cardReplacementReason'EnumDamaged
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"expired" -> Issuing'cardReplacementReason'
Issuing'cardReplacementReason'EnumExpired
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"lost" -> Issuing'cardReplacementReason'
Issuing'cardReplacementReason'EnumLost
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"stolen" -> Issuing'cardReplacementReason'
Issuing'cardReplacementReason'EnumStolen
            | Bool
GHC.Base.otherwise -> Value -> Issuing'cardReplacementReason'
Issuing'cardReplacementReason'Other Value
val
      )

-- | Defines the object schema located at @components.schemas.issuing.card.properties.shipping.anyOf@ in the specification.
--
-- Where and how the card will be shipped.
data Issuing'cardShipping' = Issuing'cardShipping'
  { -- | address:
    Issuing'cardShipping' -> Maybe Address
issuing'cardShipping'Address :: (GHC.Maybe.Maybe Address),
    -- | carrier: The delivery company that shipped a card.
    Issuing'cardShipping' -> Maybe Issuing'cardShipping'Carrier'
issuing'cardShipping'Carrier :: (GHC.Maybe.Maybe Issuing'cardShipping'Carrier'),
    -- | eta: A unix timestamp representing a best estimate of when the card will be delivered.
    Issuing'cardShipping' -> Maybe Int
issuing'cardShipping'Eta :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | name: Recipient name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    Issuing'cardShipping' -> Maybe Text
issuing'cardShipping'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | service: Shipment service, such as \`standard\` or \`express\`.
    Issuing'cardShipping' -> Maybe Issuing'cardShipping'Service'
issuing'cardShipping'Service :: (GHC.Maybe.Maybe Issuing'cardShipping'Service'),
    -- | status: The delivery status of the card.
    Issuing'cardShipping' -> Maybe Issuing'cardShipping'Status'
issuing'cardShipping'Status :: (GHC.Maybe.Maybe Issuing'cardShipping'Status'),
    -- | tracking_number: A tracking number for a card shipment.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    Issuing'cardShipping' -> Maybe Text
issuing'cardShipping'TrackingNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | tracking_url: A link to the shipping carrier\'s site where you can view detailed information about a card shipment.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    Issuing'cardShipping' -> Maybe Text
issuing'cardShipping'TrackingUrl :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | type: Packaging options.
    Issuing'cardShipping' -> Maybe Issuing'cardShipping'Type'
issuing'cardShipping'Type :: (GHC.Maybe.Maybe Issuing'cardShipping'Type')
  }
  deriving
    ( Int -> Issuing'cardShipping' -> ShowS
[Issuing'cardShipping'] -> ShowS
Issuing'cardShipping' -> String
(Int -> Issuing'cardShipping' -> ShowS)
-> (Issuing'cardShipping' -> String)
-> ([Issuing'cardShipping'] -> ShowS)
-> Show Issuing'cardShipping'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Issuing'cardShipping'] -> ShowS
$cshowList :: [Issuing'cardShipping'] -> ShowS
show :: Issuing'cardShipping' -> String
$cshow :: Issuing'cardShipping' -> String
showsPrec :: Int -> Issuing'cardShipping' -> ShowS
$cshowsPrec :: Int -> Issuing'cardShipping' -> ShowS
GHC.Show.Show,
      Issuing'cardShipping' -> Issuing'cardShipping' -> Bool
(Issuing'cardShipping' -> Issuing'cardShipping' -> Bool)
-> (Issuing'cardShipping' -> Issuing'cardShipping' -> Bool)
-> Eq Issuing'cardShipping'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Issuing'cardShipping' -> Issuing'cardShipping' -> Bool
$c/= :: Issuing'cardShipping' -> Issuing'cardShipping' -> Bool
== :: Issuing'cardShipping' -> Issuing'cardShipping' -> Bool
$c== :: Issuing'cardShipping' -> Issuing'cardShipping' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardShipping' where
  toJSON :: Issuing'cardShipping' -> Value
toJSON Issuing'cardShipping'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"address" Text -> Maybe Address -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'cardShipping' -> Maybe Address
issuing'cardShipping'Address Issuing'cardShipping'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"carrier" Text -> Maybe Issuing'cardShipping'Carrier' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'cardShipping' -> Maybe Issuing'cardShipping'Carrier'
issuing'cardShipping'Carrier Issuing'cardShipping'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"eta" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'cardShipping' -> Maybe Int
issuing'cardShipping'Eta Issuing'cardShipping'
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..= Issuing'cardShipping' -> Maybe Text
issuing'cardShipping'Name Issuing'cardShipping'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"service" Text -> Maybe Issuing'cardShipping'Service' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'cardShipping' -> Maybe Issuing'cardShipping'Service'
issuing'cardShipping'Service Issuing'cardShipping'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"status" Text -> Maybe Issuing'cardShipping'Status' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'cardShipping' -> Maybe Issuing'cardShipping'Status'
issuing'cardShipping'Status Issuing'cardShipping'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tracking_number" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'cardShipping' -> Maybe Text
issuing'cardShipping'TrackingNumber Issuing'cardShipping'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tracking_url" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'cardShipping' -> Maybe Text
issuing'cardShipping'TrackingUrl Issuing'cardShipping'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"type" Text -> Maybe Issuing'cardShipping'Type' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'cardShipping' -> Maybe Issuing'cardShipping'Type'
issuing'cardShipping'Type Issuing'cardShipping'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: Issuing'cardShipping' -> Encoding
toEncoding Issuing'cardShipping'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"address" Text -> Maybe Address -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'cardShipping' -> Maybe Address
issuing'cardShipping'Address Issuing'cardShipping'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"carrier" Text -> Maybe Issuing'cardShipping'Carrier' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'cardShipping' -> Maybe Issuing'cardShipping'Carrier'
issuing'cardShipping'Carrier Issuing'cardShipping'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"eta" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'cardShipping' -> Maybe Int
issuing'cardShipping'Eta Issuing'cardShipping'
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..= Issuing'cardShipping' -> Maybe Text
issuing'cardShipping'Name Issuing'cardShipping'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"service" Text -> Maybe Issuing'cardShipping'Service' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'cardShipping' -> Maybe Issuing'cardShipping'Service'
issuing'cardShipping'Service Issuing'cardShipping'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"status" Text -> Maybe Issuing'cardShipping'Status' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'cardShipping' -> Maybe Issuing'cardShipping'Status'
issuing'cardShipping'Status Issuing'cardShipping'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tracking_number" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'cardShipping' -> Maybe Text
issuing'cardShipping'TrackingNumber Issuing'cardShipping'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tracking_url" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'cardShipping' -> Maybe Text
issuing'cardShipping'TrackingUrl Issuing'cardShipping'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"type" Text -> Maybe Issuing'cardShipping'Type' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Issuing'cardShipping' -> Maybe Issuing'cardShipping'Type'
issuing'cardShipping'Type Issuing'cardShipping'
obj)))))))))

instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardShipping' where
  parseJSON :: Value -> Parser Issuing'cardShipping'
parseJSON = String
-> (Object -> Parser Issuing'cardShipping')
-> Value
-> Parser Issuing'cardShipping'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"Issuing'cardShipping'" (\Object
obj -> (((((((((Maybe Address
 -> Maybe Issuing'cardShipping'Carrier'
 -> Maybe Int
 -> Maybe Text
 -> Maybe Issuing'cardShipping'Service'
 -> Maybe Issuing'cardShipping'Status'
 -> Maybe Text
 -> Maybe Text
 -> Maybe Issuing'cardShipping'Type'
 -> Issuing'cardShipping')
-> Parser
     (Maybe Address
      -> Maybe Issuing'cardShipping'Carrier'
      -> Maybe Int
      -> Maybe Text
      -> Maybe Issuing'cardShipping'Service'
      -> Maybe Issuing'cardShipping'Status'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Issuing'cardShipping'Type'
      -> Issuing'cardShipping')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Address
-> Maybe Issuing'cardShipping'Carrier'
-> Maybe Int
-> Maybe Text
-> Maybe Issuing'cardShipping'Service'
-> Maybe Issuing'cardShipping'Status'
-> Maybe Text
-> Maybe Text
-> Maybe Issuing'cardShipping'Type'
-> Issuing'cardShipping'
Issuing'cardShipping' Parser
  (Maybe Address
   -> Maybe Issuing'cardShipping'Carrier'
   -> Maybe Int
   -> Maybe Text
   -> Maybe Issuing'cardShipping'Service'
   -> Maybe Issuing'cardShipping'Status'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Issuing'cardShipping'Type'
   -> Issuing'cardShipping')
-> Parser (Maybe Address)
-> Parser
     (Maybe Issuing'cardShipping'Carrier'
      -> Maybe Int
      -> Maybe Text
      -> Maybe Issuing'cardShipping'Service'
      -> Maybe Issuing'cardShipping'Status'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Issuing'cardShipping'Type'
      -> Issuing'cardShipping')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Address)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address")) Parser
  (Maybe Issuing'cardShipping'Carrier'
   -> Maybe Int
   -> Maybe Text
   -> Maybe Issuing'cardShipping'Service'
   -> Maybe Issuing'cardShipping'Status'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Issuing'cardShipping'Type'
   -> Issuing'cardShipping')
-> Parser (Maybe Issuing'cardShipping'Carrier')
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Issuing'cardShipping'Service'
      -> Maybe Issuing'cardShipping'Status'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Issuing'cardShipping'Type'
      -> Issuing'cardShipping')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Issuing'cardShipping'Carrier')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"carrier")) Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Issuing'cardShipping'Service'
   -> Maybe Issuing'cardShipping'Status'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Issuing'cardShipping'Type'
   -> Issuing'cardShipping')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Issuing'cardShipping'Service'
      -> Maybe Issuing'cardShipping'Status'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Issuing'cardShipping'Type'
      -> Issuing'cardShipping')
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
"eta")) Parser
  (Maybe Text
   -> Maybe Issuing'cardShipping'Service'
   -> Maybe Issuing'cardShipping'Status'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Issuing'cardShipping'Type'
   -> Issuing'cardShipping')
-> Parser (Maybe Text)
-> Parser
     (Maybe Issuing'cardShipping'Service'
      -> Maybe Issuing'cardShipping'Status'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Issuing'cardShipping'Type'
      -> Issuing'cardShipping')
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 Issuing'cardShipping'Service'
   -> Maybe Issuing'cardShipping'Status'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Issuing'cardShipping'Type'
   -> Issuing'cardShipping')
-> Parser (Maybe Issuing'cardShipping'Service')
-> Parser
     (Maybe Issuing'cardShipping'Status'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Issuing'cardShipping'Type'
      -> Issuing'cardShipping')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Issuing'cardShipping'Service')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"service")) Parser
  (Maybe Issuing'cardShipping'Status'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Issuing'cardShipping'Type'
   -> Issuing'cardShipping')
-> Parser (Maybe Issuing'cardShipping'Status')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Issuing'cardShipping'Type'
      -> Issuing'cardShipping')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Issuing'cardShipping'Status')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"status")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Issuing'cardShipping'Type'
   -> Issuing'cardShipping')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Issuing'cardShipping'Type' -> Issuing'cardShipping')
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
"tracking_number")) Parser
  (Maybe Text
   -> Maybe Issuing'cardShipping'Type' -> Issuing'cardShipping')
-> Parser (Maybe Text)
-> Parser
     (Maybe Issuing'cardShipping'Type' -> Issuing'cardShipping')
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
"tracking_url")) Parser (Maybe Issuing'cardShipping'Type' -> Issuing'cardShipping')
-> Parser (Maybe Issuing'cardShipping'Type')
-> Parser Issuing'cardShipping'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Issuing'cardShipping'Type')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"type"))

-- | Create a new 'Issuing'cardShipping'' with all required fields.
mkIssuing'cardShipping' :: Issuing'cardShipping'
mkIssuing'cardShipping' :: Issuing'cardShipping'
mkIssuing'cardShipping' =
  Issuing'cardShipping' :: Maybe Address
-> Maybe Issuing'cardShipping'Carrier'
-> Maybe Int
-> Maybe Text
-> Maybe Issuing'cardShipping'Service'
-> Maybe Issuing'cardShipping'Status'
-> Maybe Text
-> Maybe Text
-> Maybe Issuing'cardShipping'Type'
-> Issuing'cardShipping'
Issuing'cardShipping'
    { issuing'cardShipping'Address :: Maybe Address
issuing'cardShipping'Address = Maybe Address
forall a. Maybe a
GHC.Maybe.Nothing,
      issuing'cardShipping'Carrier :: Maybe Issuing'cardShipping'Carrier'
issuing'cardShipping'Carrier = Maybe Issuing'cardShipping'Carrier'
forall a. Maybe a
GHC.Maybe.Nothing,
      issuing'cardShipping'Eta :: Maybe Int
issuing'cardShipping'Eta = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      issuing'cardShipping'Name :: Maybe Text
issuing'cardShipping'Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      issuing'cardShipping'Service :: Maybe Issuing'cardShipping'Service'
issuing'cardShipping'Service = Maybe Issuing'cardShipping'Service'
forall a. Maybe a
GHC.Maybe.Nothing,
      issuing'cardShipping'Status :: Maybe Issuing'cardShipping'Status'
issuing'cardShipping'Status = Maybe Issuing'cardShipping'Status'
forall a. Maybe a
GHC.Maybe.Nothing,
      issuing'cardShipping'TrackingNumber :: Maybe Text
issuing'cardShipping'TrackingNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      issuing'cardShipping'TrackingUrl :: Maybe Text
issuing'cardShipping'TrackingUrl = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      issuing'cardShipping'Type :: Maybe Issuing'cardShipping'Type'
issuing'cardShipping'Type = Maybe Issuing'cardShipping'Type'
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the enum schema located at @components.schemas.issuing.card.properties.shipping.anyOf.properties.carrier@ in the specification.
--
-- The delivery company that shipped a card.
data Issuing'cardShipping'Carrier'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    Issuing'cardShipping'Carrier'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.
    Issuing'cardShipping'Carrier'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"dhl"@
    Issuing'cardShipping'Carrier'EnumDhl
  | -- | Represents the JSON value @"fedex"@
    Issuing'cardShipping'Carrier'EnumFedex
  | -- | Represents the JSON value @"royal_mail"@
    Issuing'cardShipping'Carrier'EnumRoyalMail
  | -- | Represents the JSON value @"usps"@
    Issuing'cardShipping'Carrier'EnumUsps
  deriving (Int -> Issuing'cardShipping'Carrier' -> ShowS
[Issuing'cardShipping'Carrier'] -> ShowS
Issuing'cardShipping'Carrier' -> String
(Int -> Issuing'cardShipping'Carrier' -> ShowS)
-> (Issuing'cardShipping'Carrier' -> String)
-> ([Issuing'cardShipping'Carrier'] -> ShowS)
-> Show Issuing'cardShipping'Carrier'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Issuing'cardShipping'Carrier'] -> ShowS
$cshowList :: [Issuing'cardShipping'Carrier'] -> ShowS
show :: Issuing'cardShipping'Carrier' -> String
$cshow :: Issuing'cardShipping'Carrier' -> String
showsPrec :: Int -> Issuing'cardShipping'Carrier' -> ShowS
$cshowsPrec :: Int -> Issuing'cardShipping'Carrier' -> ShowS
GHC.Show.Show, Issuing'cardShipping'Carrier'
-> Issuing'cardShipping'Carrier' -> Bool
(Issuing'cardShipping'Carrier'
 -> Issuing'cardShipping'Carrier' -> Bool)
-> (Issuing'cardShipping'Carrier'
    -> Issuing'cardShipping'Carrier' -> Bool)
-> Eq Issuing'cardShipping'Carrier'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Issuing'cardShipping'Carrier'
-> Issuing'cardShipping'Carrier' -> Bool
$c/= :: Issuing'cardShipping'Carrier'
-> Issuing'cardShipping'Carrier' -> Bool
== :: Issuing'cardShipping'Carrier'
-> Issuing'cardShipping'Carrier' -> Bool
$c== :: Issuing'cardShipping'Carrier'
-> Issuing'cardShipping'Carrier' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardShipping'Carrier' where
  toJSON :: Issuing'cardShipping'Carrier' -> Value
toJSON (Issuing'cardShipping'Carrier'Other Value
val) = Value
val
  toJSON (Issuing'cardShipping'Carrier'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (Issuing'cardShipping'Carrier'
Issuing'cardShipping'Carrier'EnumDhl) = Value
"dhl"
  toJSON (Issuing'cardShipping'Carrier'
Issuing'cardShipping'Carrier'EnumFedex) = Value
"fedex"
  toJSON (Issuing'cardShipping'Carrier'
Issuing'cardShipping'Carrier'EnumRoyalMail) = Value
"royal_mail"
  toJSON (Issuing'cardShipping'Carrier'
Issuing'cardShipping'Carrier'EnumUsps) = Value
"usps"

instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardShipping'Carrier' where
  parseJSON :: Value -> Parser Issuing'cardShipping'Carrier'
parseJSON Value
val =
    Issuing'cardShipping'Carrier'
-> Parser Issuing'cardShipping'Carrier'
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
"dhl" -> Issuing'cardShipping'Carrier'
Issuing'cardShipping'Carrier'EnumDhl
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"fedex" -> Issuing'cardShipping'Carrier'
Issuing'cardShipping'Carrier'EnumFedex
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"royal_mail" -> Issuing'cardShipping'Carrier'
Issuing'cardShipping'Carrier'EnumRoyalMail
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"usps" -> Issuing'cardShipping'Carrier'
Issuing'cardShipping'Carrier'EnumUsps
            | Bool
GHC.Base.otherwise -> Value -> Issuing'cardShipping'Carrier'
Issuing'cardShipping'Carrier'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.issuing.card.properties.shipping.anyOf.properties.service@ in the specification.
--
-- Shipment service, such as \`standard\` or \`express\`.
data Issuing'cardShipping'Service'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    Issuing'cardShipping'Service'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.
    Issuing'cardShipping'Service'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"express"@
    Issuing'cardShipping'Service'EnumExpress
  | -- | Represents the JSON value @"priority"@
    Issuing'cardShipping'Service'EnumPriority
  | -- | Represents the JSON value @"standard"@
    Issuing'cardShipping'Service'EnumStandard
  deriving (Int -> Issuing'cardShipping'Service' -> ShowS
[Issuing'cardShipping'Service'] -> ShowS
Issuing'cardShipping'Service' -> String
(Int -> Issuing'cardShipping'Service' -> ShowS)
-> (Issuing'cardShipping'Service' -> String)
-> ([Issuing'cardShipping'Service'] -> ShowS)
-> Show Issuing'cardShipping'Service'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Issuing'cardShipping'Service'] -> ShowS
$cshowList :: [Issuing'cardShipping'Service'] -> ShowS
show :: Issuing'cardShipping'Service' -> String
$cshow :: Issuing'cardShipping'Service' -> String
showsPrec :: Int -> Issuing'cardShipping'Service' -> ShowS
$cshowsPrec :: Int -> Issuing'cardShipping'Service' -> ShowS
GHC.Show.Show, Issuing'cardShipping'Service'
-> Issuing'cardShipping'Service' -> Bool
(Issuing'cardShipping'Service'
 -> Issuing'cardShipping'Service' -> Bool)
-> (Issuing'cardShipping'Service'
    -> Issuing'cardShipping'Service' -> Bool)
-> Eq Issuing'cardShipping'Service'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Issuing'cardShipping'Service'
-> Issuing'cardShipping'Service' -> Bool
$c/= :: Issuing'cardShipping'Service'
-> Issuing'cardShipping'Service' -> Bool
== :: Issuing'cardShipping'Service'
-> Issuing'cardShipping'Service' -> Bool
$c== :: Issuing'cardShipping'Service'
-> Issuing'cardShipping'Service' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardShipping'Service' where
  toJSON :: Issuing'cardShipping'Service' -> Value
toJSON (Issuing'cardShipping'Service'Other Value
val) = Value
val
  toJSON (Issuing'cardShipping'Service'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (Issuing'cardShipping'Service'
Issuing'cardShipping'Service'EnumExpress) = Value
"express"
  toJSON (Issuing'cardShipping'Service'
Issuing'cardShipping'Service'EnumPriority) = Value
"priority"
  toJSON (Issuing'cardShipping'Service'
Issuing'cardShipping'Service'EnumStandard) = Value
"standard"

instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardShipping'Service' where
  parseJSON :: Value -> Parser Issuing'cardShipping'Service'
parseJSON Value
val =
    Issuing'cardShipping'Service'
-> Parser Issuing'cardShipping'Service'
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
"express" -> Issuing'cardShipping'Service'
Issuing'cardShipping'Service'EnumExpress
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"priority" -> Issuing'cardShipping'Service'
Issuing'cardShipping'Service'EnumPriority
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"standard" -> Issuing'cardShipping'Service'
Issuing'cardShipping'Service'EnumStandard
            | Bool
GHC.Base.otherwise -> Value -> Issuing'cardShipping'Service'
Issuing'cardShipping'Service'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.issuing.card.properties.shipping.anyOf.properties.status@ in the specification.
--
-- The delivery status of the card.
data Issuing'cardShipping'Status'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    Issuing'cardShipping'Status'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.
    Issuing'cardShipping'Status'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"canceled"@
    Issuing'cardShipping'Status'EnumCanceled
  | -- | Represents the JSON value @"delivered"@
    Issuing'cardShipping'Status'EnumDelivered
  | -- | Represents the JSON value @"failure"@
    Issuing'cardShipping'Status'EnumFailure
  | -- | Represents the JSON value @"pending"@
    Issuing'cardShipping'Status'EnumPending
  | -- | Represents the JSON value @"returned"@
    Issuing'cardShipping'Status'EnumReturned
  | -- | Represents the JSON value @"shipped"@
    Issuing'cardShipping'Status'EnumShipped
  deriving (Int -> Issuing'cardShipping'Status' -> ShowS
[Issuing'cardShipping'Status'] -> ShowS
Issuing'cardShipping'Status' -> String
(Int -> Issuing'cardShipping'Status' -> ShowS)
-> (Issuing'cardShipping'Status' -> String)
-> ([Issuing'cardShipping'Status'] -> ShowS)
-> Show Issuing'cardShipping'Status'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Issuing'cardShipping'Status'] -> ShowS
$cshowList :: [Issuing'cardShipping'Status'] -> ShowS
show :: Issuing'cardShipping'Status' -> String
$cshow :: Issuing'cardShipping'Status' -> String
showsPrec :: Int -> Issuing'cardShipping'Status' -> ShowS
$cshowsPrec :: Int -> Issuing'cardShipping'Status' -> ShowS
GHC.Show.Show, Issuing'cardShipping'Status'
-> Issuing'cardShipping'Status' -> Bool
(Issuing'cardShipping'Status'
 -> Issuing'cardShipping'Status' -> Bool)
-> (Issuing'cardShipping'Status'
    -> Issuing'cardShipping'Status' -> Bool)
-> Eq Issuing'cardShipping'Status'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Issuing'cardShipping'Status'
-> Issuing'cardShipping'Status' -> Bool
$c/= :: Issuing'cardShipping'Status'
-> Issuing'cardShipping'Status' -> Bool
== :: Issuing'cardShipping'Status'
-> Issuing'cardShipping'Status' -> Bool
$c== :: Issuing'cardShipping'Status'
-> Issuing'cardShipping'Status' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardShipping'Status' where
  toJSON :: Issuing'cardShipping'Status' -> Value
toJSON (Issuing'cardShipping'Status'Other Value
val) = Value
val
  toJSON (Issuing'cardShipping'Status'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (Issuing'cardShipping'Status'
Issuing'cardShipping'Status'EnumCanceled) = Value
"canceled"
  toJSON (Issuing'cardShipping'Status'
Issuing'cardShipping'Status'EnumDelivered) = Value
"delivered"
  toJSON (Issuing'cardShipping'Status'
Issuing'cardShipping'Status'EnumFailure) = Value
"failure"
  toJSON (Issuing'cardShipping'Status'
Issuing'cardShipping'Status'EnumPending) = Value
"pending"
  toJSON (Issuing'cardShipping'Status'
Issuing'cardShipping'Status'EnumReturned) = Value
"returned"
  toJSON (Issuing'cardShipping'Status'
Issuing'cardShipping'Status'EnumShipped) = Value
"shipped"

instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardShipping'Status' where
  parseJSON :: Value -> Parser Issuing'cardShipping'Status'
parseJSON Value
val =
    Issuing'cardShipping'Status' -> Parser Issuing'cardShipping'Status'
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
"canceled" -> Issuing'cardShipping'Status'
Issuing'cardShipping'Status'EnumCanceled
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"delivered" -> Issuing'cardShipping'Status'
Issuing'cardShipping'Status'EnumDelivered
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"failure" -> Issuing'cardShipping'Status'
Issuing'cardShipping'Status'EnumFailure
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> Issuing'cardShipping'Status'
Issuing'cardShipping'Status'EnumPending
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"returned" -> Issuing'cardShipping'Status'
Issuing'cardShipping'Status'EnumReturned
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"shipped" -> Issuing'cardShipping'Status'
Issuing'cardShipping'Status'EnumShipped
            | Bool
GHC.Base.otherwise -> Value -> Issuing'cardShipping'Status'
Issuing'cardShipping'Status'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.issuing.card.properties.shipping.anyOf.properties.type@ in the specification.
--
-- Packaging options.
data Issuing'cardShipping'Type'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    Issuing'cardShipping'Type'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.
    Issuing'cardShipping'Type'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"bulk"@
    Issuing'cardShipping'Type'EnumBulk
  | -- | Represents the JSON value @"individual"@
    Issuing'cardShipping'Type'EnumIndividual
  deriving (Int -> Issuing'cardShipping'Type' -> ShowS
[Issuing'cardShipping'Type'] -> ShowS
Issuing'cardShipping'Type' -> String
(Int -> Issuing'cardShipping'Type' -> ShowS)
-> (Issuing'cardShipping'Type' -> String)
-> ([Issuing'cardShipping'Type'] -> ShowS)
-> Show Issuing'cardShipping'Type'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Issuing'cardShipping'Type'] -> ShowS
$cshowList :: [Issuing'cardShipping'Type'] -> ShowS
show :: Issuing'cardShipping'Type' -> String
$cshow :: Issuing'cardShipping'Type' -> String
showsPrec :: Int -> Issuing'cardShipping'Type' -> ShowS
$cshowsPrec :: Int -> Issuing'cardShipping'Type' -> ShowS
GHC.Show.Show, Issuing'cardShipping'Type' -> Issuing'cardShipping'Type' -> Bool
(Issuing'cardShipping'Type' -> Issuing'cardShipping'Type' -> Bool)
-> (Issuing'cardShipping'Type'
    -> Issuing'cardShipping'Type' -> Bool)
-> Eq Issuing'cardShipping'Type'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Issuing'cardShipping'Type' -> Issuing'cardShipping'Type' -> Bool
$c/= :: Issuing'cardShipping'Type' -> Issuing'cardShipping'Type' -> Bool
== :: Issuing'cardShipping'Type' -> Issuing'cardShipping'Type' -> Bool
$c== :: Issuing'cardShipping'Type' -> Issuing'cardShipping'Type' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardShipping'Type' where
  toJSON :: Issuing'cardShipping'Type' -> Value
toJSON (Issuing'cardShipping'Type'Other Value
val) = Value
val
  toJSON (Issuing'cardShipping'Type'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (Issuing'cardShipping'Type'
Issuing'cardShipping'Type'EnumBulk) = Value
"bulk"
  toJSON (Issuing'cardShipping'Type'
Issuing'cardShipping'Type'EnumIndividual) = Value
"individual"

instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardShipping'Type' where
  parseJSON :: Value -> Parser Issuing'cardShipping'Type'
parseJSON Value
val =
    Issuing'cardShipping'Type' -> Parser Issuing'cardShipping'Type'
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
"bulk" -> Issuing'cardShipping'Type'
Issuing'cardShipping'Type'EnumBulk
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"individual" -> Issuing'cardShipping'Type'
Issuing'cardShipping'Type'EnumIndividual
            | Bool
GHC.Base.otherwise -> Value -> Issuing'cardShipping'Type'
Issuing'cardShipping'Type'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.issuing.card.properties.status@ in the specification.
--
-- Whether authorizations can be approved on this card.
data Issuing'cardStatus'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    Issuing'cardStatus'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.
    Issuing'cardStatus'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    Issuing'cardStatus'EnumActive
  | -- | Represents the JSON value @"canceled"@
    Issuing'cardStatus'EnumCanceled
  | -- | Represents the JSON value @"inactive"@
    Issuing'cardStatus'EnumInactive
  deriving (Int -> Issuing'cardStatus' -> ShowS
[Issuing'cardStatus'] -> ShowS
Issuing'cardStatus' -> String
(Int -> Issuing'cardStatus' -> ShowS)
-> (Issuing'cardStatus' -> String)
-> ([Issuing'cardStatus'] -> ShowS)
-> Show Issuing'cardStatus'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Issuing'cardStatus'] -> ShowS
$cshowList :: [Issuing'cardStatus'] -> ShowS
show :: Issuing'cardStatus' -> String
$cshow :: Issuing'cardStatus' -> String
showsPrec :: Int -> Issuing'cardStatus' -> ShowS
$cshowsPrec :: Int -> Issuing'cardStatus' -> ShowS
GHC.Show.Show, Issuing'cardStatus' -> Issuing'cardStatus' -> Bool
(Issuing'cardStatus' -> Issuing'cardStatus' -> Bool)
-> (Issuing'cardStatus' -> Issuing'cardStatus' -> Bool)
-> Eq Issuing'cardStatus'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Issuing'cardStatus' -> Issuing'cardStatus' -> Bool
$c/= :: Issuing'cardStatus' -> Issuing'cardStatus' -> Bool
== :: Issuing'cardStatus' -> Issuing'cardStatus' -> Bool
$c== :: Issuing'cardStatus' -> Issuing'cardStatus' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardStatus' where
  toJSON :: Issuing'cardStatus' -> Value
toJSON (Issuing'cardStatus'Other Value
val) = Value
val
  toJSON (Issuing'cardStatus'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (Issuing'cardStatus'
Issuing'cardStatus'EnumActive) = Value
"active"
  toJSON (Issuing'cardStatus'
Issuing'cardStatus'EnumCanceled) = Value
"canceled"
  toJSON (Issuing'cardStatus'
Issuing'cardStatus'EnumInactive) = Value
"inactive"

instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardStatus' where
  parseJSON :: Value -> Parser Issuing'cardStatus'
parseJSON Value
val =
    Issuing'cardStatus' -> Parser Issuing'cardStatus'
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
"active" -> Issuing'cardStatus'
Issuing'cardStatus'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"canceled" -> Issuing'cardStatus'
Issuing'cardStatus'EnumCanceled
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> Issuing'cardStatus'
Issuing'cardStatus'EnumInactive
            | Bool
GHC.Base.otherwise -> Value -> Issuing'cardStatus'
Issuing'cardStatus'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.issuing.card.properties.type@ in the specification.
--
-- The type of the card.
data Issuing'cardType'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    Issuing'cardType'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.
    Issuing'cardType'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"physical"@
    Issuing'cardType'EnumPhysical
  | -- | Represents the JSON value @"virtual"@
    Issuing'cardType'EnumVirtual
  deriving (Int -> Issuing'cardType' -> ShowS
[Issuing'cardType'] -> ShowS
Issuing'cardType' -> String
(Int -> Issuing'cardType' -> ShowS)
-> (Issuing'cardType' -> String)
-> ([Issuing'cardType'] -> ShowS)
-> Show Issuing'cardType'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Issuing'cardType'] -> ShowS
$cshowList :: [Issuing'cardType'] -> ShowS
show :: Issuing'cardType' -> String
$cshow :: Issuing'cardType' -> String
showsPrec :: Int -> Issuing'cardType' -> ShowS
$cshowsPrec :: Int -> Issuing'cardType' -> ShowS
GHC.Show.Show, Issuing'cardType' -> Issuing'cardType' -> Bool
(Issuing'cardType' -> Issuing'cardType' -> Bool)
-> (Issuing'cardType' -> Issuing'cardType' -> Bool)
-> Eq Issuing'cardType'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Issuing'cardType' -> Issuing'cardType' -> Bool
$c/= :: Issuing'cardType' -> Issuing'cardType' -> Bool
== :: Issuing'cardType' -> Issuing'cardType' -> Bool
$c== :: Issuing'cardType' -> Issuing'cardType' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardType' where
  toJSON :: Issuing'cardType' -> Value
toJSON (Issuing'cardType'Other Value
val) = Value
val
  toJSON (Issuing'cardType'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (Issuing'cardType'
Issuing'cardType'EnumPhysical) = Value
"physical"
  toJSON (Issuing'cardType'
Issuing'cardType'EnumVirtual) = Value
"virtual"

instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardType' where
  parseJSON :: Value -> Parser Issuing'cardType'
parseJSON Value
val =
    Issuing'cardType' -> Parser Issuing'cardType'
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
"physical" -> Issuing'cardType'
Issuing'cardType'EnumPhysical
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"virtual" -> Issuing'cardType'
Issuing'cardType'EnumVirtual
            | Bool
GHC.Base.otherwise -> Value -> Issuing'cardType'
Issuing'cardType'Other Value
val
      )