# NOTE: This file is auto generated by OpenAPI Generator 7.12.0 (https://openapi-generator.tech). # Do not edit this file manually. defmodule DocuSign.Model.Signer do @moduledoc """ A complex type containing information about a signer recipient. A signer is a recipient who must take action on a document, such as sign, initial, date, or add data to form fields on a document. """ alias DocuSign.Deserializer alias DocuSign.Model.AuthenticationStatus alias DocuSign.Model.ConsentDetails alias DocuSign.Model.DelegationInfo alias DocuSign.Model.DocumentVisibility alias DocuSign.Model.EnvelopeRecipientTabs alias DocuSign.Model.ErrorDetails alias DocuSign.Model.FeatureAvailableMetadata alias DocuSign.Model.IdCheckInformationInput alias DocuSign.Model.OfflineAttributes alias DocuSign.Model.PropertyMetadata alias DocuSign.Model.RecipientAdditionalNotification alias DocuSign.Model.RecipientAttachment alias DocuSign.Model.RecipientEmailNotification alias DocuSign.Model.RecipientIdentityVerification alias DocuSign.Model.RecipientPhoneAuthentication alias DocuSign.Model.RecipientPhoneNumber alias DocuSign.Model.RecipientProofFile alias DocuSign.Model.RecipientSignatureInformation alias DocuSign.Model.RecipientSignatureProvider alias DocuSign.Model.RecipientSmsAuthentication alias DocuSign.Model.SocialAuthentication alias DocuSign.Model.UserInfo @derive Jason.Encoder defstruct [ :accessCode, :accessCodeMetadata, :addAccessCodeToEmail, :additionalNotifications, :agentCanEditEmail, :agentCanEditName, :allowSystemOverrideForLockedRecipient, :autoNavigation, :autoRespondedReason, :bulkRecipientsUri, :bulkSendV2Recipient, :canSignOffline, :clientUserId, :completedCount, :consentDetailsList, :creationReason, :customFields, :declinedDateTime, :declinedReason, :defaultRecipient, :delegatedBy, :delegatedTo, :deliveredDateTime, :deliveryMethod, :deliveryMethodMetadata, :designatorId, :designatorIdGuid, :documentTemplateId, :documentVisibility, :email, :emailMetadata, :emailNotification, :emailRecipientPostSigningURL, :embeddedRecipientStartURL, :errorDetails, :excludedDocuments, :faxNumber, :faxNumberMetadata, :firstName, :firstNameMetadata, :fullName, :fullNameMetadata, :idCheckConfigurationName, :idCheckConfigurationNameMetadata, :idCheckInformationInput, :identityVerification, :inheritEmailNotificationConfiguration, :isBulkRecipient, :isBulkRecipientMetadata, :lastName, :lastNameMetadata, :lockedRecipientPhoneAuthEditable, :lockedRecipientSmsEditable, :name, :nameMetadata, :notaryId, :notarySignerEmailSent, :note, :noteMetadata, :offlineAttributes, :phoneAuthentication, :phoneNumber, :proofFile, :recipientAttachments, :recipientAuthenticationStatus, :recipientFeatureMetadata, :recipientId, :recipientIdGuid, :recipientSignatureProviders, :recipientSuppliesTabs, :recipientType, :recipientTypeMetadata, :requireIdLookup, :requireIdLookupMetadata, :requireSignOnPaper, :requireSignerCertificate, :requireUploadSignature, :roleName, :routingOrder, :routingOrderMetadata, :sentDateTime, :signInEachLocation, :signInEachLocationMetadata, :signatureInfo, :signedDateTime, :signingGroupId, :signingGroupIdMetadata, :signingGroupName, :signingGroupUsers, :smsAuthentication, :socialAuthentications, :status, :statusCode, :suppressEmails, :tabs, :templateLocked, :templateRequired, :totalTabCount, :userId, :webFormRecipientViewId ] @type t :: %__MODULE__{ :accessCode => String.t() | nil, :accessCodeMetadata => PropertyMetadata.t() | nil, :addAccessCodeToEmail => String.t() | nil, :additionalNotifications => [RecipientAdditionalNotification.t()] | nil, :agentCanEditEmail => String.t() | nil, :agentCanEditName => String.t() | nil, :allowSystemOverrideForLockedRecipient => String.t() | nil, :autoNavigation => String.t() | nil, :autoRespondedReason => String.t() | nil, :bulkRecipientsUri => String.t() | nil, :bulkSendV2Recipient => String.t() | nil, :canSignOffline => String.t() | nil, :clientUserId => String.t() | nil, :completedCount => String.t() | nil, :consentDetailsList => [ConsentDetails.t()] | nil, :creationReason => String.t() | nil, :customFields => [String.t()] | nil, :declinedDateTime => String.t() | nil, :declinedReason => String.t() | nil, :defaultRecipient => String.t() | nil, :delegatedBy => DelegationInfo.t() | nil, :delegatedTo => [DelegationInfo.t()] | nil, :deliveredDateTime => String.t() | nil, :deliveryMethod => String.t() | nil, :deliveryMethodMetadata => PropertyMetadata.t() | nil, :designatorId => String.t() | nil, :designatorIdGuid => String.t() | nil, :documentTemplateId => String.t() | nil, :documentVisibility => [DocumentVisibility.t()] | nil, :email => String.t() | nil, :emailMetadata => PropertyMetadata.t() | nil, :emailNotification => RecipientEmailNotification.t() | nil, :emailRecipientPostSigningURL => String.t() | nil, :embeddedRecipientStartURL => String.t() | nil, :errorDetails => ErrorDetails.t() | nil, :excludedDocuments => [String.t()] | nil, :faxNumber => String.t() | nil, :faxNumberMetadata => PropertyMetadata.t() | nil, :firstName => String.t() | nil, :firstNameMetadata => PropertyMetadata.t() | nil, :fullName => String.t() | nil, :fullNameMetadata => PropertyMetadata.t() | nil, :idCheckConfigurationName => String.t() | nil, :idCheckConfigurationNameMetadata => PropertyMetadata.t() | nil, :idCheckInformationInput => IdCheckInformationInput.t() | nil, :identityVerification => RecipientIdentityVerification.t() | nil, :inheritEmailNotificationConfiguration => String.t() | nil, :isBulkRecipient => String.t() | nil, :isBulkRecipientMetadata => PropertyMetadata.t() | nil, :lastName => String.t() | nil, :lastNameMetadata => PropertyMetadata.t() | nil, :lockedRecipientPhoneAuthEditable => String.t() | nil, :lockedRecipientSmsEditable => String.t() | nil, :name => String.t() | nil, :nameMetadata => PropertyMetadata.t() | nil, :notaryId => String.t() | nil, :notarySignerEmailSent => String.t() | nil, :note => String.t() | nil, :noteMetadata => PropertyMetadata.t() | nil, :offlineAttributes => OfflineAttributes.t() | nil, :phoneAuthentication => RecipientPhoneAuthentication.t() | nil, :phoneNumber => RecipientPhoneNumber.t() | nil, :proofFile => RecipientProofFile.t() | nil, :recipientAttachments => [RecipientAttachment.t()] | nil, :recipientAuthenticationStatus => AuthenticationStatus.t() | nil, :recipientFeatureMetadata => [FeatureAvailableMetadata.t()] | nil, :recipientId => String.t() | nil, :recipientIdGuid => String.t() | nil, :recipientSignatureProviders => [RecipientSignatureProvider.t()] | nil, :recipientSuppliesTabs => String.t() | nil, :recipientType => String.t() | nil, :recipientTypeMetadata => PropertyMetadata.t() | nil, :requireIdLookup => String.t() | nil, :requireIdLookupMetadata => PropertyMetadata.t() | nil, :requireSignOnPaper => String.t() | nil, :requireSignerCertificate => String.t() | nil, :requireUploadSignature => String.t() | nil, :roleName => String.t() | nil, :routingOrder => String.t() | nil, :routingOrderMetadata => PropertyMetadata.t() | nil, :sentDateTime => String.t() | nil, :signInEachLocation => String.t() | nil, :signInEachLocationMetadata => PropertyMetadata.t() | nil, :signatureInfo => RecipientSignatureInformation.t() | nil, :signedDateTime => String.t() | nil, :signingGroupId => String.t() | nil, :signingGroupIdMetadata => PropertyMetadata.t() | nil, :signingGroupName => String.t() | nil, :signingGroupUsers => [UserInfo.t()] | nil, :smsAuthentication => RecipientSmsAuthentication.t() | nil, :socialAuthentications => [SocialAuthentication.t()] | nil, :status => String.t() | nil, :statusCode => String.t() | nil, :suppressEmails => String.t() | nil, :tabs => EnvelopeRecipientTabs.t() | nil, :templateLocked => String.t() | nil, :templateRequired => String.t() | nil, :totalTabCount => String.t() | nil, :userId => String.t() | nil, :webFormRecipientViewId => String.t() | nil } def decode(value) do value |> Deserializer.deserialize(:accessCodeMetadata, :struct, PropertyMetadata) |> Deserializer.deserialize( :additionalNotifications, :list, RecipientAdditionalNotification ) |> Deserializer.deserialize(:consentDetailsList, :list, ConsentDetails) |> Deserializer.deserialize(:delegatedBy, :struct, DelegationInfo) |> Deserializer.deserialize(:delegatedTo, :list, DelegationInfo) |> Deserializer.deserialize(:deliveryMethodMetadata, :struct, PropertyMetadata) |> Deserializer.deserialize(:documentVisibility, :list, DocumentVisibility) |> Deserializer.deserialize(:emailMetadata, :struct, PropertyMetadata) |> Deserializer.deserialize( :emailNotification, :struct, RecipientEmailNotification ) |> Deserializer.deserialize(:errorDetails, :struct, ErrorDetails) |> Deserializer.deserialize(:faxNumberMetadata, :struct, PropertyMetadata) |> Deserializer.deserialize(:firstNameMetadata, :struct, PropertyMetadata) |> Deserializer.deserialize(:fullNameMetadata, :struct, PropertyMetadata) |> Deserializer.deserialize( :idCheckConfigurationNameMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize( :idCheckInformationInput, :struct, IdCheckInformationInput ) |> Deserializer.deserialize( :identityVerification, :struct, RecipientIdentityVerification ) |> Deserializer.deserialize( :isBulkRecipientMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize(:lastNameMetadata, :struct, PropertyMetadata) |> Deserializer.deserialize(:nameMetadata, :struct, PropertyMetadata) |> Deserializer.deserialize(:noteMetadata, :struct, PropertyMetadata) |> Deserializer.deserialize(:offlineAttributes, :struct, OfflineAttributes) |> Deserializer.deserialize( :phoneAuthentication, :struct, RecipientPhoneAuthentication ) |> Deserializer.deserialize(:phoneNumber, :struct, RecipientPhoneNumber) |> Deserializer.deserialize(:proofFile, :struct, RecipientProofFile) |> Deserializer.deserialize(:recipientAttachments, :list, RecipientAttachment) |> Deserializer.deserialize( :recipientAuthenticationStatus, :struct, AuthenticationStatus ) |> Deserializer.deserialize( :recipientFeatureMetadata, :list, FeatureAvailableMetadata ) |> Deserializer.deserialize( :recipientSignatureProviders, :list, RecipientSignatureProvider ) |> Deserializer.deserialize(:recipientTypeMetadata, :struct, PropertyMetadata) |> Deserializer.deserialize( :requireIdLookupMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize(:routingOrderMetadata, :struct, PropertyMetadata) |> Deserializer.deserialize( :signatureInfo, :struct, RecipientSignatureInformation ) |> Deserializer.deserialize( :signInEachLocationMetadata, :struct, PropertyMetadata ) |> Deserializer.deserialize(:signingGroupIdMetadata, :struct, PropertyMetadata) |> Deserializer.deserialize(:signingGroupUsers, :list, UserInfo) |> Deserializer.deserialize( :smsAuthentication, :struct, RecipientSmsAuthentication ) |> Deserializer.deserialize( :socialAuthentications, :list, SocialAuthentication ) |> Deserializer.deserialize(:tabs, :struct, EnvelopeRecipientTabs) end end