# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class Bin(Model):
    """Defines a BIN (bank identification number).

    Variables are only populated by the server, and will be ignored when
    sending a request.

    :param bin: Gets the bin.
    :type bin: str
    :ivar brand: Gets or sets the brand. Possible values include: 'Unknown',
     'Visa', 'MasterCard', 'Amex', 'Discover'
    :vartype brand: str or ~softheon.wallet.api.client.models.enum
    :param is_debit_card: Gets or sets a value indicating whether this
     instance is debit.
    :type is_debit_card: bool
    :param is_check_card: Gets or sets a value indicating whether this
     instance is check card.
    :type is_check_card: bool
    :param is_gift_card: Gets or sets a value indicating whether this instance
     is gift card.
    :type is_gift_card: bool
    :param is_corporate_card: Gets or sets a value indicating whether this
     instance is corporate card.
    :type is_corporate_card: bool
    :param is_fleet_card: Gets or sets a value indicating whether this
     instance is fleet card.
    :type is_fleet_card: bool
    :param is_prepaid_card: Gets or sets a value indicating whether this
     instance is prepaid card.
    :type is_prepaid_card: bool
    """

    _validation = {
        'brand': {'readonly': True},
    }

    _attribute_map = {
        'bin': {'key': 'bin', 'type': 'str'},
        'brand': {'key': 'brand', 'type': 'str'},
        'is_debit_card': {'key': 'isDebitCard', 'type': 'bool'},
        'is_check_card': {'key': 'isCheckCard', 'type': 'bool'},
        'is_gift_card': {'key': 'isGiftCard', 'type': 'bool'},
        'is_corporate_card': {'key': 'isCorporateCard', 'type': 'bool'},
        'is_fleet_card': {'key': 'isFleetCard', 'type': 'bool'},
        'is_prepaid_card': {'key': 'isPrepaidCard', 'type': 'bool'},
    }

    def __init__(self, bin=None, is_debit_card=None, is_check_card=None, is_gift_card=None, is_corporate_card=None, is_fleet_card=None, is_prepaid_card=None):
        super(Bin, self).__init__()
        self.bin = bin
        self.brand = None
        self.is_debit_card = is_debit_card
        self.is_check_card = is_check_card
        self.is_gift_card = is_gift_card
        self.is_corporate_card = is_corporate_card
        self.is_fleet_card = is_fleet_card
        self.is_prepaid_card = is_prepaid_card
