# coding: utf-8

"""
    Prompt.io APIs

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)  # noqa: E501

    OpenAPI spec version: 1.0
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six

class OrgChannelModel(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """
    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'id': 'int',
        'name': 'str',
        'api_id': 'str',
        'channel_type': 'str',
        'active': 'bool',
        'channel_key': 'str',
        'first_message': 'str',
        'first_message_enabled': 'bool',
        'api_opt_out_message': 'str',
        'api_opt_out_message_enabled': 'bool',
        'opt_out_final_message': 'str',
        'opt_out_final_message_enabled': 'bool',
        'incoming_call_response_type': 'str',
        'incoming_call_audio_upload_id': 'int',
        'incoming_call_forward_number': 'str',
        'unsupported_media_message': 'str',
        'facebook_model': 'FacebookOrgChannelModel',
        'sms_model': 'SMSOrgChannelModel',
        'twilio_model': 'TwilioOrgChannelModel',
        'ytel_model': 'YtelOrgChannelModel',
        'smooch_model': 'SmoochChatOrgChannelModel',
        'line_model': 'LineOrgChannelModel',
        'zipwhip_model': 'ZipwhipOrgChannelModel',
        'bandwidth_model': 'BandwidthOrgChannelModel',
        'managed_bandwidth_model': 'ManagedBandwidthOrgChannelModel',
        'pre_purchased': 'bool',
        'channel_apps': 'list[str]'
    }

    attribute_map = {
        'id': 'id',
        'name': 'name',
        'api_id': 'apiId',
        'channel_type': 'channelType',
        'active': 'active',
        'channel_key': 'channelKey',
        'first_message': 'firstMessage',
        'first_message_enabled': 'firstMessageEnabled',
        'api_opt_out_message': 'apiOptOutMessage',
        'api_opt_out_message_enabled': 'apiOptOutMessageEnabled',
        'opt_out_final_message': 'optOutFinalMessage',
        'opt_out_final_message_enabled': 'optOutFinalMessageEnabled',
        'incoming_call_response_type': 'incomingCallResponseType',
        'incoming_call_audio_upload_id': 'incomingCallAudioUploadId',
        'incoming_call_forward_number': 'incomingCallForwardNumber',
        'unsupported_media_message': 'unsupportedMediaMessage',
        'facebook_model': 'facebookModel',
        'sms_model': 'smsModel',
        'twilio_model': 'twilioModel',
        'ytel_model': 'ytelModel',
        'smooch_model': 'smoochModel',
        'line_model': 'lineModel',
        'zipwhip_model': 'zipwhipModel',
        'bandwidth_model': 'bandwidthModel',
        'managed_bandwidth_model': 'managedBandwidthModel',
        'pre_purchased': 'prePurchased',
        'channel_apps': 'channelApps'
    }

    def __init__(self, id=None, name=None, api_id=None, channel_type=None, active=None, channel_key=None, first_message=None, first_message_enabled=None, api_opt_out_message=None, api_opt_out_message_enabled=None, opt_out_final_message=None, opt_out_final_message_enabled=None, incoming_call_response_type=None, incoming_call_audio_upload_id=None, incoming_call_forward_number=None, unsupported_media_message=None, facebook_model=None, sms_model=None, twilio_model=None, ytel_model=None, smooch_model=None, line_model=None, zipwhip_model=None, bandwidth_model=None, managed_bandwidth_model=None, pre_purchased=None, channel_apps=None):  # noqa: E501
        """OrgChannelModel - a model defined in Swagger"""  # noqa: E501
        self._id = None
        self._name = None
        self._api_id = None
        self._channel_type = None
        self._active = None
        self._channel_key = None
        self._first_message = None
        self._first_message_enabled = None
        self._api_opt_out_message = None
        self._api_opt_out_message_enabled = None
        self._opt_out_final_message = None
        self._opt_out_final_message_enabled = None
        self._incoming_call_response_type = None
        self._incoming_call_audio_upload_id = None
        self._incoming_call_forward_number = None
        self._unsupported_media_message = None
        self._facebook_model = None
        self._sms_model = None
        self._twilio_model = None
        self._ytel_model = None
        self._smooch_model = None
        self._line_model = None
        self._zipwhip_model = None
        self._bandwidth_model = None
        self._managed_bandwidth_model = None
        self._pre_purchased = None
        self._channel_apps = None
        self.discriminator = None
        if id is not None:
            self.id = id
        if name is not None:
            self.name = name
        if api_id is not None:
            self.api_id = api_id
        if channel_type is not None:
            self.channel_type = channel_type
        if active is not None:
            self.active = active
        if channel_key is not None:
            self.channel_key = channel_key
        if first_message is not None:
            self.first_message = first_message
        if first_message_enabled is not None:
            self.first_message_enabled = first_message_enabled
        if api_opt_out_message is not None:
            self.api_opt_out_message = api_opt_out_message
        if api_opt_out_message_enabled is not None:
            self.api_opt_out_message_enabled = api_opt_out_message_enabled
        if opt_out_final_message is not None:
            self.opt_out_final_message = opt_out_final_message
        if opt_out_final_message_enabled is not None:
            self.opt_out_final_message_enabled = opt_out_final_message_enabled
        if incoming_call_response_type is not None:
            self.incoming_call_response_type = incoming_call_response_type
        if incoming_call_audio_upload_id is not None:
            self.incoming_call_audio_upload_id = incoming_call_audio_upload_id
        if incoming_call_forward_number is not None:
            self.incoming_call_forward_number = incoming_call_forward_number
        if unsupported_media_message is not None:
            self.unsupported_media_message = unsupported_media_message
        if facebook_model is not None:
            self.facebook_model = facebook_model
        if sms_model is not None:
            self.sms_model = sms_model
        if twilio_model is not None:
            self.twilio_model = twilio_model
        if ytel_model is not None:
            self.ytel_model = ytel_model
        if smooch_model is not None:
            self.smooch_model = smooch_model
        if line_model is not None:
            self.line_model = line_model
        if zipwhip_model is not None:
            self.zipwhip_model = zipwhip_model
        if bandwidth_model is not None:
            self.bandwidth_model = bandwidth_model
        if managed_bandwidth_model is not None:
            self.managed_bandwidth_model = managed_bandwidth_model
        if pre_purchased is not None:
            self.pre_purchased = pre_purchased
        if channel_apps is not None:
            self.channel_apps = channel_apps

    @property
    def id(self):
        """Gets the id of this OrgChannelModel.  # noqa: E501

        The system generated unique id for this channel.  # noqa: E501

        :return: The id of this OrgChannelModel.  # noqa: E501
        :rtype: int
        """
        return self._id

    @id.setter
    def id(self, id):
        """Sets the id of this OrgChannelModel.

        The system generated unique id for this channel.  # noqa: E501

        :param id: The id of this OrgChannelModel.  # noqa: E501
        :type: int
        """

        self._id = id

    @property
    def name(self):
        """Gets the name of this OrgChannelModel.  # noqa: E501

        A descriptive name for this channel to show in agent UIs.  # noqa: E501

        :return: The name of this OrgChannelModel.  # noqa: E501
        :rtype: str
        """
        return self._name

    @name.setter
    def name(self, name):
        """Sets the name of this OrgChannelModel.

        A descriptive name for this channel to show in agent UIs.  # noqa: E501

        :param name: The name of this OrgChannelModel.  # noqa: E501
        :type: str
        """

        self._name = name

    @property
    def api_id(self):
        """Gets the api_id of this OrgChannelModel.  # noqa: E501

        The programmatic, unique id of this channel.  # noqa: E501

        :return: The api_id of this OrgChannelModel.  # noqa: E501
        :rtype: str
        """
        return self._api_id

    @api_id.setter
    def api_id(self, api_id):
        """Sets the api_id of this OrgChannelModel.

        The programmatic, unique id of this channel.  # noqa: E501

        :param api_id: The api_id of this OrgChannelModel.  # noqa: E501
        :type: str
        """

        self._api_id = api_id

    @property
    def channel_type(self):
        """Gets the channel_type of this OrgChannelModel.  # noqa: E501

        The type of outgoing communication channel  # noqa: E501

        :return: The channel_type of this OrgChannelModel.  # noqa: E501
        :rtype: str
        """
        return self._channel_type

    @channel_type.setter
    def channel_type(self, channel_type):
        """Sets the channel_type of this OrgChannelModel.

        The type of outgoing communication channel  # noqa: E501

        :param channel_type: The channel_type of this OrgChannelModel.  # noqa: E501
        :type: str
        """
        allowed_values = ["SMS", "FACEBOOK", "TWILIO", "LINE", "ZIPWHIP", "SMOOCH_CHAT", "YTEL", "INTERNAL", "BANDWIDTH", "POOL", "MANAGED_BANDWIDTH", "MANAGED_SIGNAL_WIRE", "SIGNAL_WIRE"]  # noqa: E501
        if channel_type not in allowed_values:
            raise ValueError(
                "Invalid value for `channel_type` ({0}), must be one of {1}"  # noqa: E501
                .format(channel_type, allowed_values)
            )

        self._channel_type = channel_type

    @property
    def active(self):
        """Gets the active of this OrgChannelModel.  # noqa: E501

        The active status of the channel  # noqa: E501

        :return: The active of this OrgChannelModel.  # noqa: E501
        :rtype: bool
        """
        return self._active

    @active.setter
    def active(self, active):
        """Sets the active of this OrgChannelModel.

        The active status of the channel  # noqa: E501

        :param active: The active of this OrgChannelModel.  # noqa: E501
        :type: bool
        """

        self._active = active

    @property
    def channel_key(self):
        """Gets the channel_key of this OrgChannelModel.  # noqa: E501

        The unique key value for this channel.Maps to, and can only be changed from a channel type specific property.  # noqa: E501

        :return: The channel_key of this OrgChannelModel.  # noqa: E501
        :rtype: str
        """
        return self._channel_key

    @channel_key.setter
    def channel_key(self, channel_key):
        """Sets the channel_key of this OrgChannelModel.

        The unique key value for this channel.Maps to, and can only be changed from a channel type specific property.  # noqa: E501

        :param channel_key: The channel_key of this OrgChannelModel.  # noqa: E501
        :type: str
        """

        self._channel_key = channel_key

    @property
    def first_message(self):
        """Gets the first_message of this OrgChannelModel.  # noqa: E501

        Customers on this channel will always receive the supplied message before any other messages are sent to them.  # noqa: E501

        :return: The first_message of this OrgChannelModel.  # noqa: E501
        :rtype: str
        """
        return self._first_message

    @first_message.setter
    def first_message(self, first_message):
        """Sets the first_message of this OrgChannelModel.

        Customers on this channel will always receive the supplied message before any other messages are sent to them.  # noqa: E501

        :param first_message: The first_message of this OrgChannelModel.  # noqa: E501
        :type: str
        """

        self._first_message = first_message

    @property
    def first_message_enabled(self):
        """Gets the first_message_enabled of this OrgChannelModel.  # noqa: E501

        Enable / disable first message functionality  # noqa: E501

        :return: The first_message_enabled of this OrgChannelModel.  # noqa: E501
        :rtype: bool
        """
        return self._first_message_enabled

    @first_message_enabled.setter
    def first_message_enabled(self, first_message_enabled):
        """Sets the first_message_enabled of this OrgChannelModel.

        Enable / disable first message functionality  # noqa: E501

        :param first_message_enabled: The first_message_enabled of this OrgChannelModel.  # noqa: E501
        :type: bool
        """

        self._first_message_enabled = first_message_enabled

    @property
    def api_opt_out_message(self):
        """Gets the api_opt_out_message of this OrgChannelModel.  # noqa: E501

        Customers will receive this message if they are API opted out of this channel but not phone provider opted out.  # noqa: E501

        :return: The api_opt_out_message of this OrgChannelModel.  # noqa: E501
        :rtype: str
        """
        return self._api_opt_out_message

    @api_opt_out_message.setter
    def api_opt_out_message(self, api_opt_out_message):
        """Sets the api_opt_out_message of this OrgChannelModel.

        Customers will receive this message if they are API opted out of this channel but not phone provider opted out.  # noqa: E501

        :param api_opt_out_message: The api_opt_out_message of this OrgChannelModel.  # noqa: E501
        :type: str
        """

        self._api_opt_out_message = api_opt_out_message

    @property
    def api_opt_out_message_enabled(self):
        """Gets the api_opt_out_message_enabled of this OrgChannelModel.  # noqa: E501

        Enable / disable API opt out message  # noqa: E501

        :return: The api_opt_out_message_enabled of this OrgChannelModel.  # noqa: E501
        :rtype: bool
        """
        return self._api_opt_out_message_enabled

    @api_opt_out_message_enabled.setter
    def api_opt_out_message_enabled(self, api_opt_out_message_enabled):
        """Sets the api_opt_out_message_enabled of this OrgChannelModel.

        Enable / disable API opt out message  # noqa: E501

        :param api_opt_out_message_enabled: The api_opt_out_message_enabled of this OrgChannelModel.  # noqa: E501
        :type: bool
        """

        self._api_opt_out_message_enabled = api_opt_out_message_enabled

    @property
    def opt_out_final_message(self):
        """Gets the opt_out_final_message of this OrgChannelModel.  # noqa: E501

        Customers will receive this message when they opt out of this channel (short code only)  # noqa: E501

        :return: The opt_out_final_message of this OrgChannelModel.  # noqa: E501
        :rtype: str
        """
        return self._opt_out_final_message

    @opt_out_final_message.setter
    def opt_out_final_message(self, opt_out_final_message):
        """Sets the opt_out_final_message of this OrgChannelModel.

        Customers will receive this message when they opt out of this channel (short code only)  # noqa: E501

        :param opt_out_final_message: The opt_out_final_message of this OrgChannelModel.  # noqa: E501
        :type: str
        """

        self._opt_out_final_message = opt_out_final_message

    @property
    def opt_out_final_message_enabled(self):
        """Gets the opt_out_final_message_enabled of this OrgChannelModel.  # noqa: E501

        Enable / disable opt out final message (short code only)  # noqa: E501

        :return: The opt_out_final_message_enabled of this OrgChannelModel.  # noqa: E501
        :rtype: bool
        """
        return self._opt_out_final_message_enabled

    @opt_out_final_message_enabled.setter
    def opt_out_final_message_enabled(self, opt_out_final_message_enabled):
        """Sets the opt_out_final_message_enabled of this OrgChannelModel.

        Enable / disable opt out final message (short code only)  # noqa: E501

        :param opt_out_final_message_enabled: The opt_out_final_message_enabled of this OrgChannelModel.  # noqa: E501
        :type: bool
        """

        self._opt_out_final_message_enabled = opt_out_final_message_enabled

    @property
    def incoming_call_response_type(self):
        """Gets the incoming_call_response_type of this OrgChannelModel.  # noqa: E501

        Type of response when receiving an incoming call on this channel  # noqa: E501

        :return: The incoming_call_response_type of this OrgChannelModel.  # noqa: E501
        :rtype: str
        """
        return self._incoming_call_response_type

    @incoming_call_response_type.setter
    def incoming_call_response_type(self, incoming_call_response_type):
        """Sets the incoming_call_response_type of this OrgChannelModel.

        Type of response when receiving an incoming call on this channel  # noqa: E501

        :param incoming_call_response_type: The incoming_call_response_type of this OrgChannelModel.  # noqa: E501
        :type: str
        """
        allowed_values = ["FORWARD", "PLAY_AUDIO", "REJECT"]  # noqa: E501
        if incoming_call_response_type not in allowed_values:
            raise ValueError(
                "Invalid value for `incoming_call_response_type` ({0}), must be one of {1}"  # noqa: E501
                .format(incoming_call_response_type, allowed_values)
            )

        self._incoming_call_response_type = incoming_call_response_type

    @property
    def incoming_call_audio_upload_id(self):
        """Gets the incoming_call_audio_upload_id of this OrgChannelModel.  # noqa: E501

        Audio file to be played to an incoming call when PLAY_AUDIO response type is selected  # noqa: E501

        :return: The incoming_call_audio_upload_id of this OrgChannelModel.  # noqa: E501
        :rtype: int
        """
        return self._incoming_call_audio_upload_id

    @incoming_call_audio_upload_id.setter
    def incoming_call_audio_upload_id(self, incoming_call_audio_upload_id):
        """Sets the incoming_call_audio_upload_id of this OrgChannelModel.

        Audio file to be played to an incoming call when PLAY_AUDIO response type is selected  # noqa: E501

        :param incoming_call_audio_upload_id: The incoming_call_audio_upload_id of this OrgChannelModel.  # noqa: E501
        :type: int
        """

        self._incoming_call_audio_upload_id = incoming_call_audio_upload_id

    @property
    def incoming_call_forward_number(self):
        """Gets the incoming_call_forward_number of this OrgChannelModel.  # noqa: E501

        Number for an incoming call to be forwarded to when FORWARD response type is selected  # noqa: E501

        :return: The incoming_call_forward_number of this OrgChannelModel.  # noqa: E501
        :rtype: str
        """
        return self._incoming_call_forward_number

    @incoming_call_forward_number.setter
    def incoming_call_forward_number(self, incoming_call_forward_number):
        """Sets the incoming_call_forward_number of this OrgChannelModel.

        Number for an incoming call to be forwarded to when FORWARD response type is selected  # noqa: E501

        :param incoming_call_forward_number: The incoming_call_forward_number of this OrgChannelModel.  # noqa: E501
        :type: str
        """

        self._incoming_call_forward_number = incoming_call_forward_number

    @property
    def unsupported_media_message(self):
        """Gets the unsupported_media_message of this OrgChannelModel.  # noqa: E501

        Alternative message to send when attempting to send a media file that is not supported by the carrier  # noqa: E501

        :return: The unsupported_media_message of this OrgChannelModel.  # noqa: E501
        :rtype: str
        """
        return self._unsupported_media_message

    @unsupported_media_message.setter
    def unsupported_media_message(self, unsupported_media_message):
        """Sets the unsupported_media_message of this OrgChannelModel.

        Alternative message to send when attempting to send a media file that is not supported by the carrier  # noqa: E501

        :param unsupported_media_message: The unsupported_media_message of this OrgChannelModel.  # noqa: E501
        :type: str
        """

        self._unsupported_media_message = unsupported_media_message

    @property
    def facebook_model(self):
        """Gets the facebook_model of this OrgChannelModel.  # noqa: E501


        :return: The facebook_model of this OrgChannelModel.  # noqa: E501
        :rtype: FacebookOrgChannelModel
        """
        return self._facebook_model

    @facebook_model.setter
    def facebook_model(self, facebook_model):
        """Sets the facebook_model of this OrgChannelModel.


        :param facebook_model: The facebook_model of this OrgChannelModel.  # noqa: E501
        :type: FacebookOrgChannelModel
        """

        self._facebook_model = facebook_model

    @property
    def sms_model(self):
        """Gets the sms_model of this OrgChannelModel.  # noqa: E501


        :return: The sms_model of this OrgChannelModel.  # noqa: E501
        :rtype: SMSOrgChannelModel
        """
        return self._sms_model

    @sms_model.setter
    def sms_model(self, sms_model):
        """Sets the sms_model of this OrgChannelModel.


        :param sms_model: The sms_model of this OrgChannelModel.  # noqa: E501
        :type: SMSOrgChannelModel
        """

        self._sms_model = sms_model

    @property
    def twilio_model(self):
        """Gets the twilio_model of this OrgChannelModel.  # noqa: E501


        :return: The twilio_model of this OrgChannelModel.  # noqa: E501
        :rtype: TwilioOrgChannelModel
        """
        return self._twilio_model

    @twilio_model.setter
    def twilio_model(self, twilio_model):
        """Sets the twilio_model of this OrgChannelModel.


        :param twilio_model: The twilio_model of this OrgChannelModel.  # noqa: E501
        :type: TwilioOrgChannelModel
        """

        self._twilio_model = twilio_model

    @property
    def ytel_model(self):
        """Gets the ytel_model of this OrgChannelModel.  # noqa: E501


        :return: The ytel_model of this OrgChannelModel.  # noqa: E501
        :rtype: YtelOrgChannelModel
        """
        return self._ytel_model

    @ytel_model.setter
    def ytel_model(self, ytel_model):
        """Sets the ytel_model of this OrgChannelModel.


        :param ytel_model: The ytel_model of this OrgChannelModel.  # noqa: E501
        :type: YtelOrgChannelModel
        """

        self._ytel_model = ytel_model

    @property
    def smooch_model(self):
        """Gets the smooch_model of this OrgChannelModel.  # noqa: E501


        :return: The smooch_model of this OrgChannelModel.  # noqa: E501
        :rtype: SmoochChatOrgChannelModel
        """
        return self._smooch_model

    @smooch_model.setter
    def smooch_model(self, smooch_model):
        """Sets the smooch_model of this OrgChannelModel.


        :param smooch_model: The smooch_model of this OrgChannelModel.  # noqa: E501
        :type: SmoochChatOrgChannelModel
        """

        self._smooch_model = smooch_model

    @property
    def line_model(self):
        """Gets the line_model of this OrgChannelModel.  # noqa: E501


        :return: The line_model of this OrgChannelModel.  # noqa: E501
        :rtype: LineOrgChannelModel
        """
        return self._line_model

    @line_model.setter
    def line_model(self, line_model):
        """Sets the line_model of this OrgChannelModel.


        :param line_model: The line_model of this OrgChannelModel.  # noqa: E501
        :type: LineOrgChannelModel
        """

        self._line_model = line_model

    @property
    def zipwhip_model(self):
        """Gets the zipwhip_model of this OrgChannelModel.  # noqa: E501


        :return: The zipwhip_model of this OrgChannelModel.  # noqa: E501
        :rtype: ZipwhipOrgChannelModel
        """
        return self._zipwhip_model

    @zipwhip_model.setter
    def zipwhip_model(self, zipwhip_model):
        """Sets the zipwhip_model of this OrgChannelModel.


        :param zipwhip_model: The zipwhip_model of this OrgChannelModel.  # noqa: E501
        :type: ZipwhipOrgChannelModel
        """

        self._zipwhip_model = zipwhip_model

    @property
    def bandwidth_model(self):
        """Gets the bandwidth_model of this OrgChannelModel.  # noqa: E501


        :return: The bandwidth_model of this OrgChannelModel.  # noqa: E501
        :rtype: BandwidthOrgChannelModel
        """
        return self._bandwidth_model

    @bandwidth_model.setter
    def bandwidth_model(self, bandwidth_model):
        """Sets the bandwidth_model of this OrgChannelModel.


        :param bandwidth_model: The bandwidth_model of this OrgChannelModel.  # noqa: E501
        :type: BandwidthOrgChannelModel
        """

        self._bandwidth_model = bandwidth_model

    @property
    def managed_bandwidth_model(self):
        """Gets the managed_bandwidth_model of this OrgChannelModel.  # noqa: E501


        :return: The managed_bandwidth_model of this OrgChannelModel.  # noqa: E501
        :rtype: ManagedBandwidthOrgChannelModel
        """
        return self._managed_bandwidth_model

    @managed_bandwidth_model.setter
    def managed_bandwidth_model(self, managed_bandwidth_model):
        """Sets the managed_bandwidth_model of this OrgChannelModel.


        :param managed_bandwidth_model: The managed_bandwidth_model of this OrgChannelModel.  # noqa: E501
        :type: ManagedBandwidthOrgChannelModel
        """

        self._managed_bandwidth_model = managed_bandwidth_model

    @property
    def pre_purchased(self):
        """Gets the pre_purchased of this OrgChannelModel.  # noqa: E501

        Specifies whether the channel has already been purchased  # noqa: E501

        :return: The pre_purchased of this OrgChannelModel.  # noqa: E501
        :rtype: bool
        """
        return self._pre_purchased

    @pre_purchased.setter
    def pre_purchased(self, pre_purchased):
        """Sets the pre_purchased of this OrgChannelModel.

        Specifies whether the channel has already been purchased  # noqa: E501

        :param pre_purchased: The pre_purchased of this OrgChannelModel.  # noqa: E501
        :type: bool
        """

        self._pre_purchased = pre_purchased

    @property
    def channel_apps(self):
        """Gets the channel_apps of this OrgChannelModel.  # noqa: E501


        :return: The channel_apps of this OrgChannelModel.  # noqa: E501
        :rtype: list[str]
        """
        return self._channel_apps

    @channel_apps.setter
    def channel_apps(self, channel_apps):
        """Sets the channel_apps of this OrgChannelModel.


        :param channel_apps: The channel_apps of this OrgChannelModel.  # noqa: E501
        :type: list[str]
        """

        self._channel_apps = channel_apps

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value
        if issubclass(OrgChannelModel, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, OrgChannelModel):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other
