/**
 * Adyen for Platforms: Account API
 * The Account API provides endpoints for managing account-related entities on your platform. These related entities include account holders, accounts, bank accounts, shareholders, and KYC-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.  For more information, refer to our [documentation](https://docs.adyen.com/platforms). ## Authentication To connect to the Account API, you must use basic authentication credentials of your web service user. If you don\'t have one, contact the [Adyen Support Team](https://support.adyen.com/hc/en-us/requests/new). Then use its credentials to authenticate your request, for example:  ``` curl -U \"ws@MarketPlace.YourMarketPlace\":\"YourWsPassword\" \\ -H \"Content-Type: application/json\" \\ ... ``` Note that when going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).  ## Versioning The Account API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.  For example: ``` https://cal-test.adyen.com/cal/services/Account/v6/createAccountHolder ```
 *
 * The version of the OpenAPI document: 6
 * Contact: developer-experience@adyen.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */ import { BusinessDetails } from './businessDetails' ; import { IndividualDetails } from './individualDetails' ; import { ViasAddress } from './viasAddress' ; import { ViasPhoneNumber } from './viasPhoneNumber' ; export class LegalArrangementEntityDetail { 'address' ? : ViasAddress ; 'businessDetails' ? : BusinessDetails ; /**
    * The e-mail address of the entity.
    */ 'email' ? : string ; /**
    * The phone number of the contact provided as a single string.  It will be handled as a landline phone. **Examples:** \"0031 6 11 22 33 44\", \"+316/1122-3344\", \"(0031) 611223344\"
    */ 'fullPhoneNumber' ? : string ; 'individualDetails' ? : IndividualDetails ; /**
    * Adyen-generated unique alphanumeric identifier (UUID) for the entry, returned in the response when you create a legal arrangement entity.
    */ 'legalArrangementEntityCode' ? : string ; /**
    * Your reference for the legal arrangement entity.
    */ 'legalArrangementEntityReference' ? : string ; /**
    * The role of the entity in the legal arrangement. The values depend on the `legalArragementType`.  Possible values:  - For `legalArragementType` **Trust**, you can use **Trustee**, **Settlor**, **Protector**, **Beneficiary**, or **Shareholder**.  - For `legalArragementType` **Partnership**, you can use **Partner** or **Shareholder**.
    */ 'legalArrangementMember' ? : LegalArrangementEntityDetail . LegalArrangementMemberEnum ; /**
    * The legal entity type.  Possible values: **Business**, **Individual**, **NonProfit**, **PublicCompany**, or **Partnership**.
    */ 'legalEntityType' : LegalArrangementEntityDetail . LegalEntityTypeEnum ; 'phoneNumber' ? : ViasPhoneNumber ; /**
    * The URL of the website of the contact.
    */ 'webAddress' ? : string ; static discriminator : string | undefined = undefined ; static attributeTypeMap : Array < { name : string ; baseName : string ; type : string ; } > = [ { "name" : "address" , "baseName" : "address" , "type" : "ViasAddress" } , { "name" : "businessDetails" , "baseName" : "businessDetails" , "type" : "BusinessDetails" } , { "name" : "email" , "baseName" : "email" , "type" : "string" } , { "name" : "fullPhoneNumber" , "baseName" : "fullPhoneNumber" , "type" : "string" } , { "name" : "individualDetails" , "baseName" : "individualDetails" , "type" : "IndividualDetails" } , { "name" : "legalArrangementEntityCode" , "baseName" : "legalArrangementEntityCode" , "type" : "string" } , { "name" : "legalArrangementEntityReference" , "baseName" : "legalArrangementEntityReference" , "type" : "string" } , { "name" : "legalArrangementMember" , "baseName" : "legalArrangementMember" , "type" : "LegalArrangementEntityDetail.LegalArrangementMemberEnum" } , { "name" : "legalEntityType" , "baseName" : "legalEntityType" , "type" : "LegalArrangementEntityDetail.LegalEntityTypeEnum" } , { "name" : "phoneNumber" , "baseName" : "phoneNumber" , "type" : "ViasPhoneNumber" } , { "name" : "webAddress" , "baseName" : "webAddress" , "type" : "string" } ] ; static getAttributeTypeMap ( ) { return LegalArrangementEntityDetail . attributeTypeMap ; } } export namespace LegalArrangementEntityDetail { export enum LegalArrangementMemberEnum { Associate = < any > 'Associate' , Beneficiary = < any > 'Beneficiary' , Chairman = < any > 'Chairman' , Partner = < any > 'Partner' , Protector = < any > 'Protector' , Secretary = < any > 'Secretary' , Settlor = < any > 'Settlor' , Shareholder = < any > 'Shareholder' , Treasurer = < any > 'Treasurer' , Trustee = < any > 'Trustee' } export enum LegalEntityTypeEnum { Business = < any > 'Business' , Individual = < any > 'Individual' , NonProfit = < any > 'NonProfit' , Partnership = < any > 'Partnership' , PublicCompany = < any > 'PublicCompany' } }