/**
 *                       ######
 *                       ######
 * ############    ####( ######  #####. ######  ############   ############
 * #############  #####( ######  #####. ######  #############  #############
 *        ######  #####( ######  #####. ######  #####  ######  #####  ######
 * ###### ######  #####( ######  #####. ######  #####  #####   #####  ######
 * ###### ######  #####( ######  #####. ######  #####          #####  ######
 * #############  #############  #############  #############  #####  ######
 *  ############   ############  #############   ############  #####  ######
 *                                      ######
 *                               #############
 *                               ############
 * Adyen NodeJS API Library
 * Copyright (c) 2021 Adyen B.V.
 * This file is open source and available under the MIT license.
 * See the LICENSE file for more info.
 *
 * Adyen for Platforms: Notifications
 * The Notification API sends notifications to the endpoints specified in a given subscription. Subscriptions are managed through the Notification Configuration API. The API specifications listed here detail the format of each notification.  For more information, refer to our [documentation](https://docs.adyen.com/platforms/notifications).
 *
 * 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 { ErrorFieldType } from './errorFieldType';

export class AccountHolderStoreStatusChangeNotificationContent {
    /**
    * The code of the account holder.
    */
    'accountHolderCode': string;
    /**
    * In case the store status has not been updated, contains fields that did not pass the validation.
    */
    'invalidFields'?: Array<ErrorFieldType>;
    /**
    * The new status of the account holder.
    */
    'newStatus': AccountHolderStoreStatusChangeNotificationContent.NewStatusEnum;
    /**
    * The former status of the account holder.
    */
    'oldStatus': AccountHolderStoreStatusChangeNotificationContent.OldStatusEnum;
    /**
    * The reason for the status change.
    */
    'reason'?: string;
    /**
    * Alphanumeric identifier of the store.
    */
    'store': string;
    /**
    * Store store reference.
    */
    'storeReference': string;
}

export namespace AccountHolderStoreStatusChangeNotificationContent {
    export enum NewStatusEnum {
        Active = <any> 'Active',
        Closed = <any> 'Closed',
        Inactive = <any> 'Inactive',
        InactiveWithModifications = <any> 'InactiveWithModifications',
        Pending = <any> 'Pending'
    }
    export enum OldStatusEnum {
        Active = <any> 'Active',
        Closed = <any> 'Closed',
        Inactive = <any> 'Inactive',
        InactiveWithModifications = <any> 'InactiveWithModifications',
        Pending = <any> 'Pending'
    }
}
