# 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.NewAccountDefinition do
@moduledoc """
"""
@derive [Poison.Encoder]
defstruct [
:accountName,
:accountSettings,
:addressInformation,
:creditCardInformation,
:directDebitProcessorInformation,
:distributorCode,
:distributorPassword,
:enablePreAuth,
:envelopePartitionId,
:initialUser,
:paymentMethod,
:paymentProcessor,
:paymentProcessorInformation,
:planInformation,
:processPayment,
:referralInformation,
:socialAccountInformation,
:taxExemptId
]
@type t :: %__MODULE__{
:accountName => String.t() | nil,
:accountSettings => DocuSign.Model.AccountSettingsInformation.t() | nil,
:addressInformation => DocuSign.Model.AccountAddress.t() | nil,
:creditCardInformation => DocuSign.Model.CreditCardInformation.t() | nil,
:directDebitProcessorInformation =>
DocuSign.Model.DirectDebitProcessorInformation.t() | nil,
:distributorCode => String.t() | nil,
:distributorPassword => String.t() | nil,
:enablePreAuth => String.t() | nil,
:envelopePartitionId => String.t() | nil,
:initialUser => DocuSign.Model.UserInformation.t() | nil,
:paymentMethod => String.t() | nil,
:paymentProcessor => String.t() | nil,
:paymentProcessorInformation => DocuSign.Model.PaymentProcessorInformation.t() | nil,
:planInformation => DocuSign.Model.PlanInformation.t() | nil,
:processPayment => String.t() | nil,
:referralInformation => DocuSign.Model.ReferralInformation.t() | nil,
:socialAccountInformation => DocuSign.Model.SocialAccountInformation.t() | nil,
:taxExemptId => String.t() | nil
}
end
defimpl Poison.Decoder, for: DocuSign.Model.NewAccountDefinition do
import DocuSign.Deserializer
def decode(value, options) do
value
|> deserialize(:accountSettings, :struct, DocuSign.Model.AccountSettingsInformation, options)
|> deserialize(:addressInformation, :struct, DocuSign.Model.AccountAddress, options)
|> deserialize(:creditCardInformation, :struct, DocuSign.Model.CreditCardInformation, options)
|> deserialize(
:directDebitProcessorInformation,
:struct,
DocuSign.Model.DirectDebitProcessorInformation,
options
)
|> deserialize(:initialUser, :struct, DocuSign.Model.UserInformation, options)
|> deserialize(
:paymentProcessorInformation,
:struct,
DocuSign.Model.PaymentProcessorInformation,
options
)
|> deserialize(:planInformation, :struct, DocuSign.Model.PlanInformation, options)
|> deserialize(:referralInformation, :struct, DocuSign.Model.ReferralInformation, options)
|> deserialize(
:socialAccountInformation,
:struct,
DocuSign.Model.SocialAccountInformation,
options
)
end
end