# NOTE: This file is auto generated by OpenAPI Generator 6.4.0 (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule DocuSign.Model.BillingPlan do
@moduledoc """
Contains information about a billing plan.
"""
@derive [Poison.Encoder]
defstruct [
:appStoreProducts,
:currencyPlanPrices,
:enableSupport,
:includedSeats,
:otherDiscountPercent,
:paymentCycle,
:paymentMethod,
:perSeatPrice,
:planClassification,
:planFeatureSets,
:planId,
:planName,
:seatDiscounts,
:supportIncidentFee,
:supportPlanFee
]
@type t :: %__MODULE__{
:appStoreProducts => [DocuSign.Model.AppStoreProduct.t()] | nil,
:currencyPlanPrices => [DocuSign.Model.CurrencyPlanPrice.t()] | nil,
:enableSupport => String.t() | nil,
:includedSeats => String.t() | nil,
:otherDiscountPercent => String.t() | nil,
:paymentCycle => String.t() | nil,
:paymentMethod => String.t() | nil,
:perSeatPrice => String.t() | nil,
:planClassification => String.t() | nil,
:planFeatureSets => [DocuSign.Model.FeatureSet.t()] | nil,
:planId => String.t() | nil,
:planName => String.t() | nil,
:seatDiscounts => [DocuSign.Model.SeatDiscount.t()] | nil,
:supportIncidentFee => String.t() | nil,
:supportPlanFee => String.t() | nil
}
end
defimpl Poison.Decoder, for: DocuSign.Model.BillingPlan do
import DocuSign.Deserializer
def decode(value, options) do
value
|> deserialize(:appStoreProducts, :list, DocuSign.Model.AppStoreProduct, options)
|> deserialize(:currencyPlanPrices, :list, DocuSign.Model.CurrencyPlanPrice, options)
|> deserialize(:planFeatureSets, :list, DocuSign.Model.FeatureSet, options)
|> deserialize(:seatDiscounts, :list, DocuSign.Model.SeatDiscount, options)
end
end