{-# LANGUAGE MultiWayIf #-}
{-# LANGUAGE OverloadedStrings #-}
module RecurlyClient.Types.PlanCreate 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
import qualified Data.ByteString as Data.ByteString.Internal
import qualified Data.Foldable
import qualified Data.Functor
import qualified Data.Maybe
import qualified Data.Scientific
import qualified Data.Text
import qualified Data.Text as 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 RecurlyClient.Common
import RecurlyClient.TypeAlias
import {-# SOURCE #-} RecurlyClient.Types.AddOnCreate
import {-# SOURCE #-} RecurlyClient.Types.PlanHostedPages
import {-# SOURCE #-} RecurlyClient.Types.PlanPricing
import {-# SOURCE #-} RecurlyClient.Types.PlanRampInterval
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe
data PlanCreate = PlanCreate
{ PlanCreate -> Maybe Text
planCreateAccounting_code :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PlanCreate -> Maybe [AddOnCreate]
planCreateAdd_ons :: (GHC.Maybe.Maybe [AddOnCreate])
, PlanCreate -> Maybe Bool
planCreateAllow_any_item_on_subscriptions :: (GHC.Maybe.Maybe GHC.Types.Bool)
, PlanCreate -> Maybe Bool
planCreateAuto_renew :: (GHC.Maybe.Maybe GHC.Types.Bool)
, PlanCreate -> Maybe Int
planCreateAvalara_service_type :: (GHC.Maybe.Maybe GHC.Types.Int)
, PlanCreate -> Maybe Int
planCreateAvalara_transaction_type :: (GHC.Maybe.Maybe GHC.Types.Int)
, PlanCreate -> Text
planCreateCode :: Data.Text.Internal.Text
, PlanCreate -> NonEmpty PlanPricing
planCreateCurrencies :: (GHC.Base.NonEmpty PlanPricing)
, PlanCreate -> Maybe CustomFields
planCreateCustom_fields :: (GHC.Maybe.Maybe CustomFields)
, PlanCreate -> Maybe Text
planCreateDescription :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PlanCreate -> Maybe Text
planCreateDunning_campaign_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PlanCreate -> Maybe PlanHostedPages
planCreateHosted_pages :: (GHC.Maybe.Maybe PlanHostedPages)
, PlanCreate -> Maybe Int
planCreateInterval_length :: (GHC.Maybe.Maybe GHC.Types.Int)
, PlanCreate -> Maybe PlanCreateInterval_unit
planCreateInterval_unit :: (GHC.Maybe.Maybe PlanCreateInterval_unit)
, PlanCreate -> Maybe Text
planCreateLiability_gl_account_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PlanCreate -> Text
planCreateName :: Data.Text.Internal.Text
, PlanCreate -> Maybe Text
planCreatePerformance_obligation_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PlanCreate -> Maybe PlanCreatePricing_model
planCreatePricing_model :: (GHC.Maybe.Maybe PlanCreatePricing_model)
, PlanCreate -> Maybe [PlanRampInterval]
planCreateRamp_intervals :: (GHC.Maybe.Maybe [PlanRampInterval])
, PlanCreate -> Maybe Text
planCreateRevenue_gl_account_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PlanCreate -> Maybe PlanCreateRevenue_schedule_type
planCreateRevenue_schedule_type :: (GHC.Maybe.Maybe PlanCreateRevenue_schedule_type)
, PlanCreate -> Maybe Text
planCreateSetup_fee_accounting_code :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PlanCreate -> Maybe Text
planCreateSetup_fee_liability_gl_account_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PlanCreate -> Maybe Text
planCreateSetup_fee_performance_obligation_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PlanCreate -> Maybe Text
planCreateSetup_fee_revenue_gl_account_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PlanCreate -> Maybe PlanCreateSetup_fee_revenue_schedule_type
planCreateSetup_fee_revenue_schedule_type :: (GHC.Maybe.Maybe PlanCreateSetup_fee_revenue_schedule_type)
, PlanCreate -> Maybe Text
planCreateTax_code :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PlanCreate -> Maybe Bool
planCreateTax_exempt :: (GHC.Maybe.Maybe GHC.Types.Bool)
, PlanCreate -> Maybe Int
planCreateTotal_billing_cycles :: (GHC.Maybe.Maybe GHC.Types.Int)
, PlanCreate -> Maybe Int
planCreateTrial_length :: (GHC.Maybe.Maybe GHC.Types.Int)
, PlanCreate -> Maybe Bool
planCreateTrial_requires_billing_info :: (GHC.Maybe.Maybe GHC.Types.Bool)
, PlanCreate -> Maybe PlanCreateTrial_unit
planCreateTrial_unit :: (GHC.Maybe.Maybe PlanCreateTrial_unit)
, PlanCreate -> Maybe Text
planCreateVertex_transaction_type :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
}
deriving
( Int -> PlanCreate -> ShowS
[PlanCreate] -> ShowS
PlanCreate -> String
(Int -> PlanCreate -> ShowS)
-> (PlanCreate -> String)
-> ([PlanCreate] -> ShowS)
-> Show PlanCreate
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PlanCreate -> ShowS
showsPrec :: Int -> PlanCreate -> ShowS
$cshow :: PlanCreate -> String
show :: PlanCreate -> String
$cshowList :: [PlanCreate] -> ShowS
showList :: [PlanCreate] -> ShowS
GHC.Show.Show
, PlanCreate -> PlanCreate -> Bool
(PlanCreate -> PlanCreate -> Bool)
-> (PlanCreate -> PlanCreate -> Bool) -> Eq PlanCreate
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PlanCreate -> PlanCreate -> Bool
== :: PlanCreate -> PlanCreate -> Bool
$c/= :: PlanCreate -> PlanCreate -> Bool
/= :: PlanCreate -> PlanCreate -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON PlanCreate where
toJSON :: PlanCreate -> Value
toJSON PlanCreate
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object ([[Pair]] -> [Pair]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
Data.Foldable.concat ([Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"accounting_code" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateAccounting_code PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> ([AddOnCreate] -> [Pair]) -> Maybe [AddOnCreate] -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> ([AddOnCreate] -> Pair) -> [AddOnCreate] -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"add_ons" Key -> [AddOnCreate] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe [AddOnCreate]
planCreateAdd_ons PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Bool -> [Pair]) -> Maybe Bool -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Bool -> Pair) -> Bool -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"allow_any_item_on_subscriptions" Key -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Bool
planCreateAllow_any_item_on_subscriptions PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Bool -> [Pair]) -> Maybe Bool -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Bool -> Pair) -> Bool -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"auto_renew" Key -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Bool
planCreateAuto_renew PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Int -> [Pair]) -> Maybe Int -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Int -> Pair) -> Int -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"avalara_service_type" Key -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Int
planCreateAvalara_service_type PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Int -> [Pair]) -> Maybe Int -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Int -> Pair) -> Int -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"avalara_transaction_type" Key -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Int
planCreateAvalara_transaction_type PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Key
"code" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..= PlanCreate -> Text
planCreateCode PlanCreate
obj] [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Key
"currencies" Key -> NonEmpty PlanPricing -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..= PlanCreate -> NonEmpty PlanPricing
planCreateCurrencies PlanCreate
obj] [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (CustomFields -> [Pair]) -> Maybe CustomFields -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (CustomFields -> Pair) -> CustomFields -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"custom_fields" Key -> CustomFields -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe CustomFields
planCreateCustom_fields PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"description" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateDescription PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"dunning_campaign_id" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateDunning_campaign_id PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (PlanHostedPages -> [Pair]) -> Maybe PlanHostedPages -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (PlanHostedPages -> Pair) -> PlanHostedPages -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"hosted_pages" Key -> PlanHostedPages -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe PlanHostedPages
planCreateHosted_pages PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Int -> [Pair]) -> Maybe Int -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Int -> Pair) -> Int -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"interval_length" Key -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Int
planCreateInterval_length PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (PlanCreateInterval_unit -> [Pair])
-> Maybe PlanCreateInterval_unit
-> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (PlanCreateInterval_unit -> Pair)
-> PlanCreateInterval_unit
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"interval_unit" Key -> PlanCreateInterval_unit -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe PlanCreateInterval_unit
planCreateInterval_unit PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"liability_gl_account_id" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateLiability_gl_account_id PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Key
"name" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..= PlanCreate -> Text
planCreateName PlanCreate
obj] [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"performance_obligation_id" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreatePerformance_obligation_id PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (PlanCreatePricing_model -> [Pair])
-> Maybe PlanCreatePricing_model
-> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (PlanCreatePricing_model -> Pair)
-> PlanCreatePricing_model
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"pricing_model" Key -> PlanCreatePricing_model -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe PlanCreatePricing_model
planCreatePricing_model PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> ([PlanRampInterval] -> [Pair])
-> Maybe [PlanRampInterval]
-> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> ([PlanRampInterval] -> Pair) -> [PlanRampInterval] -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"ramp_intervals" Key -> [PlanRampInterval] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe [PlanRampInterval]
planCreateRamp_intervals PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"revenue_gl_account_id" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateRevenue_gl_account_id PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (PlanCreateRevenue_schedule_type -> [Pair])
-> Maybe PlanCreateRevenue_schedule_type
-> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (PlanCreateRevenue_schedule_type -> Pair)
-> PlanCreateRevenue_schedule_type
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"revenue_schedule_type" Key -> PlanCreateRevenue_schedule_type -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe PlanCreateRevenue_schedule_type
planCreateRevenue_schedule_type PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"setup_fee_accounting_code" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateSetup_fee_accounting_code PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"setup_fee_liability_gl_account_id" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateSetup_fee_liability_gl_account_id PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"setup_fee_performance_obligation_id" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateSetup_fee_performance_obligation_id PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"setup_fee_revenue_gl_account_id" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateSetup_fee_revenue_gl_account_id PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (PlanCreateSetup_fee_revenue_schedule_type -> [Pair])
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (PlanCreateSetup_fee_revenue_schedule_type -> Pair)
-> PlanCreateSetup_fee_revenue_schedule_type
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"setup_fee_revenue_schedule_type" Key -> PlanCreateSetup_fee_revenue_schedule_type -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe PlanCreateSetup_fee_revenue_schedule_type
planCreateSetup_fee_revenue_schedule_type PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"tax_code" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateTax_code PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Bool -> [Pair]) -> Maybe Bool -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Bool -> Pair) -> Bool -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"tax_exempt" Key -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Bool
planCreateTax_exempt PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Int -> [Pair]) -> Maybe Int -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Int -> Pair) -> Int -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"total_billing_cycles" Key -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Int
planCreateTotal_billing_cycles PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Int -> [Pair]) -> Maybe Int -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Int -> Pair) -> Int -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"trial_length" Key -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Int
planCreateTrial_length PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Bool -> [Pair]) -> Maybe Bool -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Bool -> Pair) -> Bool -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"trial_requires_billing_info" Key -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Bool
planCreateTrial_requires_billing_info PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (PlanCreateTrial_unit -> [Pair])
-> Maybe PlanCreateTrial_unit
-> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (PlanCreateTrial_unit -> Pair) -> PlanCreateTrial_unit -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"trial_unit" Key -> PlanCreateTrial_unit -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe PlanCreateTrial_unit
planCreateTrial_unit PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"vertex_transaction_type" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateVertex_transaction_type PlanCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [[Pair]]
forall a. Monoid a => a
GHC.Base.mempty))
toEncoding :: PlanCreate -> Encoding
toEncoding PlanCreate
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ([Series] -> Series
forall a. Monoid a => [a] -> a
GHC.Base.mconcat ([[Series]] -> [Series]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
Data.Foldable.concat ([Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"accounting_code" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateAccounting_code PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> ([AddOnCreate] -> [Series]) -> Maybe [AddOnCreate] -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> ([AddOnCreate] -> Series) -> [AddOnCreate] -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"add_ons" Key -> [AddOnCreate] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe [AddOnCreate]
planCreateAdd_ons PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Bool -> [Series]) -> Maybe Bool -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Bool -> Series) -> Bool -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"allow_any_item_on_subscriptions" Key -> Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Bool
planCreateAllow_any_item_on_subscriptions PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Bool -> [Series]) -> Maybe Bool -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Bool -> Series) -> Bool -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"auto_renew" Key -> Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Bool
planCreateAuto_renew PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Int -> [Series]) -> Maybe Int -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Int -> Series) -> Int -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"avalara_service_type" Key -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Int
planCreateAvalara_service_type PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Int -> [Series]) -> Maybe Int -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Int -> Series) -> Int -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"avalara_transaction_type" Key -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Int
planCreateAvalara_transaction_type PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Key
"code" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..= PlanCreate -> Text
planCreateCode PlanCreate
obj] [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Key
"currencies" Key -> NonEmpty PlanPricing -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..= PlanCreate -> NonEmpty PlanPricing
planCreateCurrencies PlanCreate
obj] [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (CustomFields -> [Series]) -> Maybe CustomFields -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (CustomFields -> Series) -> CustomFields -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"custom_fields" Key -> CustomFields -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe CustomFields
planCreateCustom_fields PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"description" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateDescription PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"dunning_campaign_id" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateDunning_campaign_id PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (PlanHostedPages -> [Series])
-> Maybe PlanHostedPages
-> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (PlanHostedPages -> Series) -> PlanHostedPages -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"hosted_pages" Key -> PlanHostedPages -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe PlanHostedPages
planCreateHosted_pages PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Int -> [Series]) -> Maybe Int -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Int -> Series) -> Int -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"interval_length" Key -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Int
planCreateInterval_length PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (PlanCreateInterval_unit -> [Series])
-> Maybe PlanCreateInterval_unit
-> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (PlanCreateInterval_unit -> Series)
-> PlanCreateInterval_unit
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"interval_unit" Key -> PlanCreateInterval_unit -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe PlanCreateInterval_unit
planCreateInterval_unit PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"liability_gl_account_id" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateLiability_gl_account_id PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Key
"name" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..= PlanCreate -> Text
planCreateName PlanCreate
obj] [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"performance_obligation_id" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreatePerformance_obligation_id PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (PlanCreatePricing_model -> [Series])
-> Maybe PlanCreatePricing_model
-> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (PlanCreatePricing_model -> Series)
-> PlanCreatePricing_model
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"pricing_model" Key -> PlanCreatePricing_model -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe PlanCreatePricing_model
planCreatePricing_model PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> ([PlanRampInterval] -> [Series])
-> Maybe [PlanRampInterval]
-> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> ([PlanRampInterval] -> Series) -> [PlanRampInterval] -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"ramp_intervals" Key -> [PlanRampInterval] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe [PlanRampInterval]
planCreateRamp_intervals PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"revenue_gl_account_id" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateRevenue_gl_account_id PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (PlanCreateRevenue_schedule_type -> [Series])
-> Maybe PlanCreateRevenue_schedule_type
-> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (PlanCreateRevenue_schedule_type -> Series)
-> PlanCreateRevenue_schedule_type
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"revenue_schedule_type" Key -> PlanCreateRevenue_schedule_type -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe PlanCreateRevenue_schedule_type
planCreateRevenue_schedule_type PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"setup_fee_accounting_code" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateSetup_fee_accounting_code PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"setup_fee_liability_gl_account_id" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateSetup_fee_liability_gl_account_id PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"setup_fee_performance_obligation_id" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateSetup_fee_performance_obligation_id PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"setup_fee_revenue_gl_account_id" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateSetup_fee_revenue_gl_account_id PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (PlanCreateSetup_fee_revenue_schedule_type -> [Series])
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (PlanCreateSetup_fee_revenue_schedule_type -> Series)
-> PlanCreateSetup_fee_revenue_schedule_type
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"setup_fee_revenue_schedule_type" Key -> PlanCreateSetup_fee_revenue_schedule_type -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe PlanCreateSetup_fee_revenue_schedule_type
planCreateSetup_fee_revenue_schedule_type PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"tax_code" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateTax_code PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Bool -> [Series]) -> Maybe Bool -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Bool -> Series) -> Bool -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"tax_exempt" Key -> Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Bool
planCreateTax_exempt PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Int -> [Series]) -> Maybe Int -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Int -> Series) -> Int -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"total_billing_cycles" Key -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Int
planCreateTotal_billing_cycles PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Int -> [Series]) -> Maybe Int -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Int -> Series) -> Int -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"trial_length" Key -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Int
planCreateTrial_length PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Bool -> [Series]) -> Maybe Bool -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Bool -> Series) -> Bool -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"trial_requires_billing_info" Key -> Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Bool
planCreateTrial_requires_billing_info PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (PlanCreateTrial_unit -> [Series])
-> Maybe PlanCreateTrial_unit
-> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (PlanCreateTrial_unit -> Series)
-> PlanCreateTrial_unit
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"trial_unit" Key -> PlanCreateTrial_unit -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe PlanCreateTrial_unit
planCreateTrial_unit PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"vertex_transaction_type" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PlanCreate -> Maybe Text
planCreateVertex_transaction_type PlanCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [[Series]]
forall a. Monoid a => a
GHC.Base.mempty)))
instance Data.Aeson.Types.FromJSON.FromJSON PlanCreate where
parseJSON :: Value -> Parser PlanCreate
parseJSON = String
-> (Object -> Parser PlanCreate) -> Value -> Parser PlanCreate
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PlanCreate" (\Object
obj -> (((((((((((((((((((((((((((((((((Maybe Text
-> Maybe [AddOnCreate]
-> Maybe Bool
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Text
-> NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser
(Maybe Text
-> Maybe [AddOnCreate]
-> Maybe Bool
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Text
-> NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe [AddOnCreate]
-> Maybe Bool
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Text
-> NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate
PlanCreate Parser
(Maybe Text
-> Maybe [AddOnCreate]
-> Maybe Bool
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Text
-> NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe [AddOnCreate]
-> Maybe Bool
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Text
-> NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"accounting_code")) Parser
(Maybe [AddOnCreate]
-> Maybe Bool
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Text
-> NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe [AddOnCreate])
-> Parser
(Maybe Bool
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Text
-> NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe [AddOnCreate])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"add_ons")) Parser
(Maybe Bool
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Text
-> NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Bool)
-> Parser
(Maybe Bool
-> Maybe Int
-> Maybe Int
-> Text
-> NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"allow_any_item_on_subscriptions")) Parser
(Maybe Bool
-> Maybe Int
-> Maybe Int
-> Text
-> NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Bool)
-> Parser
(Maybe Int
-> Maybe Int
-> Text
-> NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"auto_renew")) Parser
(Maybe Int
-> Maybe Int
-> Text
-> NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Int)
-> Parser
(Maybe Int
-> Text
-> NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"avalara_service_type")) Parser
(Maybe Int
-> Text
-> NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Int)
-> Parser
(Text
-> NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"avalara_transaction_type")) Parser
(Text
-> NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser Text
-> Parser
(NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser Text
forall a. FromJSON a => Object -> Key -> Parser a
Data.Aeson.Types.FromJSON..: Key
"code")) Parser
(NonEmpty PlanPricing
-> Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (NonEmpty PlanPricing)
-> Parser
(Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (NonEmpty PlanPricing)
forall a. FromJSON a => Object -> Key -> Parser a
Data.Aeson.Types.FromJSON..: Key
"currencies")) Parser
(Maybe CustomFields
-> Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe CustomFields)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe CustomFields)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"custom_fields")) Parser
(Maybe Text
-> Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"description")) Parser
(Maybe Text
-> Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"dunning_campaign_id")) Parser
(Maybe PlanHostedPages
-> Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe PlanHostedPages)
-> Parser
(Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe PlanHostedPages)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"hosted_pages")) Parser
(Maybe Int
-> Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Int)
-> Parser
(Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"interval_length")) Parser
(Maybe PlanCreateInterval_unit
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe PlanCreateInterval_unit)
-> Parser
(Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe PlanCreateInterval_unit)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"interval_unit")) Parser
(Maybe Text
-> Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Text)
-> Parser
(Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"liability_gl_account_id")) Parser
(Text
-> Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser Text
-> Parser
(Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser Text
forall a. FromJSON a => Object -> Key -> Parser a
Data.Aeson.Types.FromJSON..: Key
"name")) Parser
(Maybe Text
-> Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"performance_obligation_id")) Parser
(Maybe PlanCreatePricing_model
-> Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe PlanCreatePricing_model)
-> Parser
(Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe PlanCreatePricing_model)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"pricing_model")) Parser
(Maybe [PlanRampInterval]
-> Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe [PlanRampInterval])
-> Parser
(Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe [PlanRampInterval])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"ramp_intervals")) Parser
(Maybe Text
-> Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"revenue_gl_account_id")) Parser
(Maybe PlanCreateRevenue_schedule_type
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe PlanCreateRevenue_schedule_type)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe PlanCreateRevenue_schedule_type)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"revenue_schedule_type")) Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"setup_fee_accounting_code")) Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"setup_fee_liability_gl_account_id")) Parser
(Maybe Text
-> Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"setup_fee_performance_obligation_id")) Parser
(Maybe Text
-> Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"setup_fee_revenue_gl_account_id")) Parser
(Maybe PlanCreateSetup_fee_revenue_schedule_type
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe PlanCreateSetup_fee_revenue_schedule_type)
-> Parser
(Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Key -> Parser (Maybe PlanCreateSetup_fee_revenue_schedule_type)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"setup_fee_revenue_schedule_type")) Parser
(Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"tax_code")) Parser
(Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Bool)
-> Parser
(Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"tax_exempt")) Parser
(Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Int)
-> Parser
(Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"total_billing_cycles")) Parser
(Maybe Int
-> Maybe Bool
-> Maybe PlanCreateTrial_unit
-> Maybe Text
-> PlanCreate)
-> Parser (Maybe Int)
-> Parser
(Maybe Bool
-> Maybe PlanCreateTrial_unit -> Maybe Text -> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"trial_length")) Parser
(Maybe Bool
-> Maybe PlanCreateTrial_unit -> Maybe Text -> PlanCreate)
-> Parser (Maybe Bool)
-> Parser (Maybe PlanCreateTrial_unit -> Maybe Text -> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"trial_requires_billing_info")) Parser (Maybe PlanCreateTrial_unit -> Maybe Text -> PlanCreate)
-> Parser (Maybe PlanCreateTrial_unit)
-> Parser (Maybe Text -> PlanCreate)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe PlanCreateTrial_unit)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"trial_unit")) Parser (Maybe Text -> PlanCreate)
-> Parser (Maybe Text) -> Parser PlanCreate
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"vertex_transaction_type"))
mkPlanCreate ::
Data.Text.Internal.Text ->
GHC.Base.NonEmpty PlanPricing ->
Data.Text.Internal.Text ->
PlanCreate
mkPlanCreate :: Text -> NonEmpty PlanPricing -> Text -> PlanCreate
mkPlanCreate Text
planCreateCode NonEmpty PlanPricing
planCreateCurrencies Text
planCreateName =
PlanCreate
{ planCreateAccounting_code :: Maybe Text
planCreateAccounting_code = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateAdd_ons :: Maybe [AddOnCreate]
planCreateAdd_ons = Maybe [AddOnCreate]
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateAllow_any_item_on_subscriptions :: Maybe Bool
planCreateAllow_any_item_on_subscriptions = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateAuto_renew :: Maybe Bool
planCreateAuto_renew = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateAvalara_service_type :: Maybe Int
planCreateAvalara_service_type = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateAvalara_transaction_type :: Maybe Int
planCreateAvalara_transaction_type = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateCode :: Text
planCreateCode = Text
planCreateCode
, planCreateCurrencies :: NonEmpty PlanPricing
planCreateCurrencies = NonEmpty PlanPricing
planCreateCurrencies
, planCreateCustom_fields :: Maybe CustomFields
planCreateCustom_fields = Maybe CustomFields
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateDescription :: Maybe Text
planCreateDescription = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateDunning_campaign_id :: Maybe Text
planCreateDunning_campaign_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateHosted_pages :: Maybe PlanHostedPages
planCreateHosted_pages = Maybe PlanHostedPages
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateInterval_length :: Maybe Int
planCreateInterval_length = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateInterval_unit :: Maybe PlanCreateInterval_unit
planCreateInterval_unit = Maybe PlanCreateInterval_unit
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateLiability_gl_account_id :: Maybe Text
planCreateLiability_gl_account_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateName :: Text
planCreateName = Text
planCreateName
, planCreatePerformance_obligation_id :: Maybe Text
planCreatePerformance_obligation_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, planCreatePricing_model :: Maybe PlanCreatePricing_model
planCreatePricing_model = Maybe PlanCreatePricing_model
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateRamp_intervals :: Maybe [PlanRampInterval]
planCreateRamp_intervals = Maybe [PlanRampInterval]
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateRevenue_gl_account_id :: Maybe Text
planCreateRevenue_gl_account_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateRevenue_schedule_type :: Maybe PlanCreateRevenue_schedule_type
planCreateRevenue_schedule_type = Maybe PlanCreateRevenue_schedule_type
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateSetup_fee_accounting_code :: Maybe Text
planCreateSetup_fee_accounting_code = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateSetup_fee_liability_gl_account_id :: Maybe Text
planCreateSetup_fee_liability_gl_account_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateSetup_fee_performance_obligation_id :: Maybe Text
planCreateSetup_fee_performance_obligation_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateSetup_fee_revenue_gl_account_id :: Maybe Text
planCreateSetup_fee_revenue_gl_account_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateSetup_fee_revenue_schedule_type :: Maybe PlanCreateSetup_fee_revenue_schedule_type
planCreateSetup_fee_revenue_schedule_type = Maybe PlanCreateSetup_fee_revenue_schedule_type
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateTax_code :: Maybe Text
planCreateTax_code = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateTax_exempt :: Maybe Bool
planCreateTax_exempt = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateTotal_billing_cycles :: Maybe Int
planCreateTotal_billing_cycles = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateTrial_length :: Maybe Int
planCreateTrial_length = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateTrial_requires_billing_info :: Maybe Bool
planCreateTrial_requires_billing_info = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateTrial_unit :: Maybe PlanCreateTrial_unit
planCreateTrial_unit = Maybe PlanCreateTrial_unit
forall a. Maybe a
GHC.Maybe.Nothing
, planCreateVertex_transaction_type :: Maybe Text
planCreateVertex_transaction_type = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
}
data PlanCreateInterval_unit
=
PlanCreateInterval_unitOther Data.Aeson.Types.Internal.Value
|
PlanCreateInterval_unitTyped Data.Text.Internal.Text
|
PlanCreateInterval_unitEnumDays
|
PlanCreateInterval_unitEnumMonths
deriving (Int -> PlanCreateInterval_unit -> ShowS
[PlanCreateInterval_unit] -> ShowS
PlanCreateInterval_unit -> String
(Int -> PlanCreateInterval_unit -> ShowS)
-> (PlanCreateInterval_unit -> String)
-> ([PlanCreateInterval_unit] -> ShowS)
-> Show PlanCreateInterval_unit
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PlanCreateInterval_unit -> ShowS
showsPrec :: Int -> PlanCreateInterval_unit -> ShowS
$cshow :: PlanCreateInterval_unit -> String
show :: PlanCreateInterval_unit -> String
$cshowList :: [PlanCreateInterval_unit] -> ShowS
showList :: [PlanCreateInterval_unit] -> ShowS
GHC.Show.Show, PlanCreateInterval_unit -> PlanCreateInterval_unit -> Bool
(PlanCreateInterval_unit -> PlanCreateInterval_unit -> Bool)
-> (PlanCreateInterval_unit -> PlanCreateInterval_unit -> Bool)
-> Eq PlanCreateInterval_unit
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PlanCreateInterval_unit -> PlanCreateInterval_unit -> Bool
== :: PlanCreateInterval_unit -> PlanCreateInterval_unit -> Bool
$c/= :: PlanCreateInterval_unit -> PlanCreateInterval_unit -> Bool
/= :: PlanCreateInterval_unit -> PlanCreateInterval_unit -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON PlanCreateInterval_unit where
toJSON :: PlanCreateInterval_unit -> Value
toJSON (PlanCreateInterval_unitOther Value
val) = Value
val
toJSON (PlanCreateInterval_unitTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (PlanCreateInterval_unit
PlanCreateInterval_unitEnumDays) = Value
"days"
toJSON (PlanCreateInterval_unit
PlanCreateInterval_unitEnumMonths) = Value
"months"
instance Data.Aeson.Types.FromJSON.FromJSON PlanCreateInterval_unit where
parseJSON :: Value -> Parser PlanCreateInterval_unit
parseJSON Value
val =
PlanCreateInterval_unit -> Parser PlanCreateInterval_unit
forall a. a -> Parser a
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
"days" -> PlanCreateInterval_unit
PlanCreateInterval_unitEnumDays
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"months" -> PlanCreateInterval_unit
PlanCreateInterval_unitEnumMonths
| Bool
GHC.Base.otherwise -> Value -> PlanCreateInterval_unit
PlanCreateInterval_unitOther Value
val
)
data PlanCreatePricing_model
=
PlanCreatePricing_modelOther Data.Aeson.Types.Internal.Value
|
PlanCreatePricing_modelTyped Data.Text.Internal.Text
|
PlanCreatePricing_modelEnumFixed
|
PlanCreatePricing_modelEnumRamp
deriving (Int -> PlanCreatePricing_model -> ShowS
[PlanCreatePricing_model] -> ShowS
PlanCreatePricing_model -> String
(Int -> PlanCreatePricing_model -> ShowS)
-> (PlanCreatePricing_model -> String)
-> ([PlanCreatePricing_model] -> ShowS)
-> Show PlanCreatePricing_model
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PlanCreatePricing_model -> ShowS
showsPrec :: Int -> PlanCreatePricing_model -> ShowS
$cshow :: PlanCreatePricing_model -> String
show :: PlanCreatePricing_model -> String
$cshowList :: [PlanCreatePricing_model] -> ShowS
showList :: [PlanCreatePricing_model] -> ShowS
GHC.Show.Show, PlanCreatePricing_model -> PlanCreatePricing_model -> Bool
(PlanCreatePricing_model -> PlanCreatePricing_model -> Bool)
-> (PlanCreatePricing_model -> PlanCreatePricing_model -> Bool)
-> Eq PlanCreatePricing_model
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PlanCreatePricing_model -> PlanCreatePricing_model -> Bool
== :: PlanCreatePricing_model -> PlanCreatePricing_model -> Bool
$c/= :: PlanCreatePricing_model -> PlanCreatePricing_model -> Bool
/= :: PlanCreatePricing_model -> PlanCreatePricing_model -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON PlanCreatePricing_model where
toJSON :: PlanCreatePricing_model -> Value
toJSON (PlanCreatePricing_modelOther Value
val) = Value
val
toJSON (PlanCreatePricing_modelTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (PlanCreatePricing_model
PlanCreatePricing_modelEnumFixed) = Value
"fixed"
toJSON (PlanCreatePricing_model
PlanCreatePricing_modelEnumRamp) = Value
"ramp"
instance Data.Aeson.Types.FromJSON.FromJSON PlanCreatePricing_model where
parseJSON :: Value -> Parser PlanCreatePricing_model
parseJSON Value
val =
PlanCreatePricing_model -> Parser PlanCreatePricing_model
forall a. a -> Parser a
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
"fixed" -> PlanCreatePricing_model
PlanCreatePricing_modelEnumFixed
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ramp" -> PlanCreatePricing_model
PlanCreatePricing_modelEnumRamp
| Bool
GHC.Base.otherwise -> Value -> PlanCreatePricing_model
PlanCreatePricing_modelOther Value
val
)
data PlanCreateRevenue_schedule_type
=
PlanCreateRevenue_schedule_typeOther Data.Aeson.Types.Internal.Value
|
PlanCreateRevenue_schedule_typeTyped Data.Text.Internal.Text
|
PlanCreateRevenue_schedule_typeEnumAt_range_end
|
PlanCreateRevenue_schedule_typeEnumAt_range_start
|
PlanCreateRevenue_schedule_typeEnumEvenly
|
PlanCreateRevenue_schedule_typeEnumNever
deriving (Int -> PlanCreateRevenue_schedule_type -> ShowS
[PlanCreateRevenue_schedule_type] -> ShowS
PlanCreateRevenue_schedule_type -> String
(Int -> PlanCreateRevenue_schedule_type -> ShowS)
-> (PlanCreateRevenue_schedule_type -> String)
-> ([PlanCreateRevenue_schedule_type] -> ShowS)
-> Show PlanCreateRevenue_schedule_type
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PlanCreateRevenue_schedule_type -> ShowS
showsPrec :: Int -> PlanCreateRevenue_schedule_type -> ShowS
$cshow :: PlanCreateRevenue_schedule_type -> String
show :: PlanCreateRevenue_schedule_type -> String
$cshowList :: [PlanCreateRevenue_schedule_type] -> ShowS
showList :: [PlanCreateRevenue_schedule_type] -> ShowS
GHC.Show.Show, PlanCreateRevenue_schedule_type
-> PlanCreateRevenue_schedule_type -> Bool
(PlanCreateRevenue_schedule_type
-> PlanCreateRevenue_schedule_type -> Bool)
-> (PlanCreateRevenue_schedule_type
-> PlanCreateRevenue_schedule_type -> Bool)
-> Eq PlanCreateRevenue_schedule_type
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PlanCreateRevenue_schedule_type
-> PlanCreateRevenue_schedule_type -> Bool
== :: PlanCreateRevenue_schedule_type
-> PlanCreateRevenue_schedule_type -> Bool
$c/= :: PlanCreateRevenue_schedule_type
-> PlanCreateRevenue_schedule_type -> Bool
/= :: PlanCreateRevenue_schedule_type
-> PlanCreateRevenue_schedule_type -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON PlanCreateRevenue_schedule_type where
toJSON :: PlanCreateRevenue_schedule_type -> Value
toJSON (PlanCreateRevenue_schedule_typeOther Value
val) = Value
val
toJSON (PlanCreateRevenue_schedule_typeTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (PlanCreateRevenue_schedule_type
PlanCreateRevenue_schedule_typeEnumAt_range_end) = Value
"at_range_end"
toJSON (PlanCreateRevenue_schedule_type
PlanCreateRevenue_schedule_typeEnumAt_range_start) = Value
"at_range_start"
toJSON (PlanCreateRevenue_schedule_type
PlanCreateRevenue_schedule_typeEnumEvenly) = Value
"evenly"
toJSON (PlanCreateRevenue_schedule_type
PlanCreateRevenue_schedule_typeEnumNever) = Value
"never"
instance Data.Aeson.Types.FromJSON.FromJSON PlanCreateRevenue_schedule_type where
parseJSON :: Value -> Parser PlanCreateRevenue_schedule_type
parseJSON Value
val =
PlanCreateRevenue_schedule_type
-> Parser PlanCreateRevenue_schedule_type
forall a. a -> Parser a
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
"at_range_end" -> PlanCreateRevenue_schedule_type
PlanCreateRevenue_schedule_typeEnumAt_range_end
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"at_range_start" -> PlanCreateRevenue_schedule_type
PlanCreateRevenue_schedule_typeEnumAt_range_start
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"evenly" -> PlanCreateRevenue_schedule_type
PlanCreateRevenue_schedule_typeEnumEvenly
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"never" -> PlanCreateRevenue_schedule_type
PlanCreateRevenue_schedule_typeEnumNever
| Bool
GHC.Base.otherwise -> Value -> PlanCreateRevenue_schedule_type
PlanCreateRevenue_schedule_typeOther Value
val
)
data PlanCreateSetup_fee_revenue_schedule_type
=
PlanCreateSetup_fee_revenue_schedule_typeOther Data.Aeson.Types.Internal.Value
|
PlanCreateSetup_fee_revenue_schedule_typeTyped Data.Text.Internal.Text
|
PlanCreateSetup_fee_revenue_schedule_typeEnumAt_range_end
|
PlanCreateSetup_fee_revenue_schedule_typeEnumAt_range_start
|
PlanCreateSetup_fee_revenue_schedule_typeEnumEvenly
|
PlanCreateSetup_fee_revenue_schedule_typeEnumNever
deriving (Int -> PlanCreateSetup_fee_revenue_schedule_type -> ShowS
[PlanCreateSetup_fee_revenue_schedule_type] -> ShowS
PlanCreateSetup_fee_revenue_schedule_type -> String
(Int -> PlanCreateSetup_fee_revenue_schedule_type -> ShowS)
-> (PlanCreateSetup_fee_revenue_schedule_type -> String)
-> ([PlanCreateSetup_fee_revenue_schedule_type] -> ShowS)
-> Show PlanCreateSetup_fee_revenue_schedule_type
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PlanCreateSetup_fee_revenue_schedule_type -> ShowS
showsPrec :: Int -> PlanCreateSetup_fee_revenue_schedule_type -> ShowS
$cshow :: PlanCreateSetup_fee_revenue_schedule_type -> String
show :: PlanCreateSetup_fee_revenue_schedule_type -> String
$cshowList :: [PlanCreateSetup_fee_revenue_schedule_type] -> ShowS
showList :: [PlanCreateSetup_fee_revenue_schedule_type] -> ShowS
GHC.Show.Show, PlanCreateSetup_fee_revenue_schedule_type
-> PlanCreateSetup_fee_revenue_schedule_type -> Bool
(PlanCreateSetup_fee_revenue_schedule_type
-> PlanCreateSetup_fee_revenue_schedule_type -> Bool)
-> (PlanCreateSetup_fee_revenue_schedule_type
-> PlanCreateSetup_fee_revenue_schedule_type -> Bool)
-> Eq PlanCreateSetup_fee_revenue_schedule_type
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PlanCreateSetup_fee_revenue_schedule_type
-> PlanCreateSetup_fee_revenue_schedule_type -> Bool
== :: PlanCreateSetup_fee_revenue_schedule_type
-> PlanCreateSetup_fee_revenue_schedule_type -> Bool
$c/= :: PlanCreateSetup_fee_revenue_schedule_type
-> PlanCreateSetup_fee_revenue_schedule_type -> Bool
/= :: PlanCreateSetup_fee_revenue_schedule_type
-> PlanCreateSetup_fee_revenue_schedule_type -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON PlanCreateSetup_fee_revenue_schedule_type where
toJSON :: PlanCreateSetup_fee_revenue_schedule_type -> Value
toJSON (PlanCreateSetup_fee_revenue_schedule_typeOther Value
val) = Value
val
toJSON (PlanCreateSetup_fee_revenue_schedule_typeTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (PlanCreateSetup_fee_revenue_schedule_type
PlanCreateSetup_fee_revenue_schedule_typeEnumAt_range_end) = Value
"at_range_end"
toJSON (PlanCreateSetup_fee_revenue_schedule_type
PlanCreateSetup_fee_revenue_schedule_typeEnumAt_range_start) = Value
"at_range_start"
toJSON (PlanCreateSetup_fee_revenue_schedule_type
PlanCreateSetup_fee_revenue_schedule_typeEnumEvenly) = Value
"evenly"
toJSON (PlanCreateSetup_fee_revenue_schedule_type
PlanCreateSetup_fee_revenue_schedule_typeEnumNever) = Value
"never"
instance Data.Aeson.Types.FromJSON.FromJSON PlanCreateSetup_fee_revenue_schedule_type where
parseJSON :: Value -> Parser PlanCreateSetup_fee_revenue_schedule_type
parseJSON Value
val =
PlanCreateSetup_fee_revenue_schedule_type
-> Parser PlanCreateSetup_fee_revenue_schedule_type
forall a. a -> Parser a
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
"at_range_end" -> PlanCreateSetup_fee_revenue_schedule_type
PlanCreateSetup_fee_revenue_schedule_typeEnumAt_range_end
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"at_range_start" -> PlanCreateSetup_fee_revenue_schedule_type
PlanCreateSetup_fee_revenue_schedule_typeEnumAt_range_start
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"evenly" -> PlanCreateSetup_fee_revenue_schedule_type
PlanCreateSetup_fee_revenue_schedule_typeEnumEvenly
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"never" -> PlanCreateSetup_fee_revenue_schedule_type
PlanCreateSetup_fee_revenue_schedule_typeEnumNever
| Bool
GHC.Base.otherwise -> Value -> PlanCreateSetup_fee_revenue_schedule_type
PlanCreateSetup_fee_revenue_schedule_typeOther Value
val
)
data PlanCreateTrial_unit
=
PlanCreateTrial_unitOther Data.Aeson.Types.Internal.Value
|
PlanCreateTrial_unitTyped Data.Text.Internal.Text
|
PlanCreateTrial_unitEnumDays
|
PlanCreateTrial_unitEnumMonths
deriving (Int -> PlanCreateTrial_unit -> ShowS
[PlanCreateTrial_unit] -> ShowS
PlanCreateTrial_unit -> String
(Int -> PlanCreateTrial_unit -> ShowS)
-> (PlanCreateTrial_unit -> String)
-> ([PlanCreateTrial_unit] -> ShowS)
-> Show PlanCreateTrial_unit
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PlanCreateTrial_unit -> ShowS
showsPrec :: Int -> PlanCreateTrial_unit -> ShowS
$cshow :: PlanCreateTrial_unit -> String
show :: PlanCreateTrial_unit -> String
$cshowList :: [PlanCreateTrial_unit] -> ShowS
showList :: [PlanCreateTrial_unit] -> ShowS
GHC.Show.Show, PlanCreateTrial_unit -> PlanCreateTrial_unit -> Bool
(PlanCreateTrial_unit -> PlanCreateTrial_unit -> Bool)
-> (PlanCreateTrial_unit -> PlanCreateTrial_unit -> Bool)
-> Eq PlanCreateTrial_unit
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PlanCreateTrial_unit -> PlanCreateTrial_unit -> Bool
== :: PlanCreateTrial_unit -> PlanCreateTrial_unit -> Bool
$c/= :: PlanCreateTrial_unit -> PlanCreateTrial_unit -> Bool
/= :: PlanCreateTrial_unit -> PlanCreateTrial_unit -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON PlanCreateTrial_unit where
toJSON :: PlanCreateTrial_unit -> Value
toJSON (PlanCreateTrial_unitOther Value
val) = Value
val
toJSON (PlanCreateTrial_unitTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (PlanCreateTrial_unit
PlanCreateTrial_unitEnumDays) = Value
"days"
toJSON (PlanCreateTrial_unit
PlanCreateTrial_unitEnumMonths) = Value
"months"
instance Data.Aeson.Types.FromJSON.FromJSON PlanCreateTrial_unit where
parseJSON :: Value -> Parser PlanCreateTrial_unit
parseJSON Value
val =
PlanCreateTrial_unit -> Parser PlanCreateTrial_unit
forall a. a -> Parser a
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
"days" -> PlanCreateTrial_unit
PlanCreateTrial_unitEnumDays
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"months" -> PlanCreateTrial_unit
PlanCreateTrial_unitEnumMonths
| Bool
GHC.Base.otherwise -> Value -> PlanCreateTrial_unit
PlanCreateTrial_unitOther Value
val
)