/*
 * The version of the OpenAPI document: v3
 * 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 this class manually.
 */

import { Address2 } from './address2';

export class PartyIdentification2 {
    'address'?: Address2;
    /**
    * First name of the individual. Required when `type` is **individual**.
    */
    'firstName'?: string;
    /**
    * The name of the entity.
    */
    'fullName': string;
    /**
    * Last name of the individual. Required when `type` is **individual**.
    */
    'lastName'?: string;
    /**
    * The type of entity that owns the bank account.   Possible values: **individual**, **organization**, or **unknown**.
    */
    'type'?: PartyIdentification2.TypeEnum;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "address",
            "baseName": "address",
            "type": "Address2"
        },
        {
            "name": "firstName",
            "baseName": "firstName",
            "type": "string"
        },
        {
            "name": "fullName",
            "baseName": "fullName",
            "type": "string"
        },
        {
            "name": "lastName",
            "baseName": "lastName",
            "type": "string"
        },
        {
            "name": "type",
            "baseName": "type",
            "type": "PartyIdentification2.TypeEnum"
        }    ];

    static getAttributeTypeMap() {
        return PartyIdentification2.attributeTypeMap;
    }
}

export namespace PartyIdentification2 {
    export enum TypeEnum {
        Individual = <any> 'individual',
        Organization = <any> 'organization',
        Unknown = <any> 'unknown'
    }
}
