/**
 * Brevo API
 * Brevo provide a RESTFul API that can be used with any languages. With this API, you will be able to :   - Manage your campaigns and get the statistics   - Manage your contacts   - Send transactional Emails and SMS   - and much more...  You can download our wrappers at https://github.com/orgs/brevo  **Possible responses**   | Code | Message |   | :-------------: | ------------- |   | 200  | OK. Successful Request  |   | 201  | OK. Successful Creation |   | 202  | OK. Request accepted |   | 204  | OK. Successful Update/Deletion  |   | 400  | Error. Bad Request  |   | 401  | Error. Authentication Needed  |   | 402  | Error. Not enough credit, plan upgrade needed  |   | 403  | Error. Permission denied  |   | 404  | Error. Object does not exist |   | 405  | Error. Method not allowed  |   | 406  | Error. Not Acceptable  |   | 422  | Error. Unprocessable Entity | 
 *
 * The version of the OpenAPI document: 3.0.0
 * Contact: contact@brevo.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 { RequestFile } from './models';

/**
* List of enable/disable applications on the sub-account
*/
export class SubAccountAppsToggleRequest {
    /**
    * Set this field to enable or disable Inbox on the sub-account / Not applicable on ENTv2
    */
    'inbox'?: boolean;
    /**
    * Set this field to enable or disable Whatsapp campaigns on the sub-account
    */
    'whatsapp'?: boolean;
    /**
    * Set this field to enable or disable Automation on the sub-account
    */
    'automation'?: boolean;
    /**
    * Set this field to enable or disable Email Campaigns on the sub-account
    */
    'emailCampaigns'?: boolean;
    /**
    * Set this field to enable or disable SMS Marketing on the sub-account
    */
    'smsCampaigns'?: boolean;
    /**
    * Set this field to enable or disable Landing pages on the sub-account
    */
    'landingPages'?: boolean;
    /**
    * Set this field to enable or disable Transactional Email on the sub-account
    */
    'transactionalEmails'?: boolean;
    /**
    * Set this field to enable or disable Transactional SMS on the sub-account
    */
    'transactionalSms'?: boolean;
    /**
    * Set this field to enable or disable Facebook ads on the sub-account
    */
    'facebookAds'?: boolean;
    /**
    * Set this field to enable or disable Web Push on the sub-account
    */
    'webPush'?: boolean;
    /**
    * Set this field to enable or disable Meetings on the sub-account
    */
    'meetings'?: boolean;
    /**
    * Set this field to enable or disable Conversations on the sub-account
    */
    'conversations'?: boolean;
    /**
    * Set this field to enable or disable Sales CRM on the sub-account
    */
    'crm'?: boolean;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "inbox",
            "baseName": "inbox",
            "type": "boolean"
        },
        {
            "name": "whatsapp",
            "baseName": "whatsapp",
            "type": "boolean"
        },
        {
            "name": "automation",
            "baseName": "automation",
            "type": "boolean"
        },
        {
            "name": "emailCampaigns",
            "baseName": "email-campaigns",
            "type": "boolean"
        },
        {
            "name": "smsCampaigns",
            "baseName": "sms-campaigns",
            "type": "boolean"
        },
        {
            "name": "landingPages",
            "baseName": "landing-pages",
            "type": "boolean"
        },
        {
            "name": "transactionalEmails",
            "baseName": "transactional-emails",
            "type": "boolean"
        },
        {
            "name": "transactionalSms",
            "baseName": "transactional-sms",
            "type": "boolean"
        },
        {
            "name": "facebookAds",
            "baseName": "facebook-ads",
            "type": "boolean"
        },
        {
            "name": "webPush",
            "baseName": "web-push",
            "type": "boolean"
        },
        {
            "name": "meetings",
            "baseName": "meetings",
            "type": "boolean"
        },
        {
            "name": "conversations",
            "baseName": "conversations",
            "type": "boolean"
        },
        {
            "name": "crm",
            "baseName": "crm",
            "type": "boolean"
        }    ];

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

