# coding: utf-8

"""
    Digitick REST API

    The Digitick REST API is a set of methods giving access to catalog, user and cart management.

    OpenAPI spec version: v1.0
    Contact: contact@digitick.com
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""


from pprint import pformat
from six import iteritems
import re


class Holder(object):
    """
    NOTE: This class is auto generated by the swagger code generator program.
    Do not edit the class manually.
    """
    def __init__(self, nom=None, prenom=None, civilite_porteur=None, date_naissance_porteur=None, adresse_porteur=None, complement_adresse_porteur=None, code_postal_porteur=None, ville_porteur=None, pays_porteur=None, mobile_porteur=None, mail_porteur=None, observations_porteur=None, nombre_personnes=None, optin1_porteur=None, optin2_porteur=None, format_pays_etat=None, nom_club_porteur=None, num_club_porteur=None, structure_porteur=None, fonction_porteur=None, nombre_accompagnateurs=None, numero_abonnement=None, date_arrivee_porteur=None, option1_ol=None, option2_ol=None, option3_ol=None, option4_ol=None, option5_ol=None, option6_ol=None, option13_ol=None, nom_urgence_vuitton=None, tel_urgence_vuitton=None, infos_complementaires_vuitton=None, option1_vuitton=None, numero_licenceffa=None):
        """
        Holder - a model defined in Swagger

        :param dict swaggerTypes: The key is attribute name
                                  and the value is attribute type.
        :param dict attributeMap: The key is attribute name
                                  and the value is json key in definition.
        """
        self.swagger_types = {
            'nom': 'str',
            'prenom': 'str',
            'civilite_porteur': 'str',
            'date_naissance_porteur': 'str',
            'adresse_porteur': 'str',
            'complement_adresse_porteur': 'str',
            'code_postal_porteur': 'str',
            'ville_porteur': 'str',
            'pays_porteur': 'str',
            'mobile_porteur': 'str',
            'mail_porteur': 'str',
            'observations_porteur': 'str',
            'nombre_personnes': 'str',
            'optin1_porteur': 'str',
            'optin2_porteur': 'str',
            'format_pays_etat': 'str',
            'nom_club_porteur': 'str',
            'num_club_porteur': 'str',
            'structure_porteur': 'str',
            'fonction_porteur': 'str',
            'nombre_accompagnateurs': 'str',
            'numero_abonnement': 'str',
            'date_arrivee_porteur': 'str',
            'option1_ol': 'str',
            'option2_ol': 'str',
            'option3_ol': 'str',
            'option4_ol': 'str',
            'option5_ol': 'str',
            'option6_ol': 'str',
            'option13_ol': 'str',
            'nom_urgence_vuitton': 'str',
            'tel_urgence_vuitton': 'str',
            'infos_complementaires_vuitton': 'str',
            'option1_vuitton': 'str',
            'numero_licenceffa': 'str'
        }

        self.attribute_map = {
            'nom': 'nom',
            'prenom': 'prenom',
            'civilite_porteur': 'civilitePorteur',
            'date_naissance_porteur': 'dateNaissancePorteur',
            'adresse_porteur': 'adressePorteur',
            'complement_adresse_porteur': 'complementAdressePorteur',
            'code_postal_porteur': 'codePostalPorteur',
            'ville_porteur': 'villePorteur',
            'pays_porteur': 'paysPorteur',
            'mobile_porteur': 'mobilePorteur',
            'mail_porteur': 'mailPorteur',
            'observations_porteur': 'observationsPorteur',
            'nombre_personnes': 'nombrePersonnes',
            'optin1_porteur': 'optin1Porteur',
            'optin2_porteur': 'optin2Porteur',
            'format_pays_etat': 'formatPaysEtat',
            'nom_club_porteur': 'nomClubPorteur',
            'num_club_porteur': 'numClubPorteur',
            'structure_porteur': 'structurePorteur',
            'fonction_porteur': 'fonctionPorteur',
            'nombre_accompagnateurs': 'nombreAccompagnateurs',
            'numero_abonnement': 'numeroAbonnement',
            'date_arrivee_porteur': 'dateArriveePorteur',
            'option1_ol': 'option1Ol',
            'option2_ol': 'option2Ol',
            'option3_ol': 'option3Ol',
            'option4_ol': 'option4Ol',
            'option5_ol': 'option5Ol',
            'option6_ol': 'option6Ol',
            'option13_ol': 'option13Ol',
            'nom_urgence_vuitton': 'NomUrgenceVuitton',
            'tel_urgence_vuitton': 'TelUrgenceVuitton',
            'infos_complementaires_vuitton': 'InfosComplementairesVuitton',
            'option1_vuitton': 'option1Vuitton',
            'numero_licenceffa': 'numeroLicenceffa'
        }

        self._nom = nom
        self._prenom = prenom
        self._civilite_porteur = civilite_porteur
        self._date_naissance_porteur = date_naissance_porteur
        self._adresse_porteur = adresse_porteur
        self._complement_adresse_porteur = complement_adresse_porteur
        self._code_postal_porteur = code_postal_porteur
        self._ville_porteur = ville_porteur
        self._pays_porteur = pays_porteur
        self._mobile_porteur = mobile_porteur
        self._mail_porteur = mail_porteur
        self._observations_porteur = observations_porteur
        self._nombre_personnes = nombre_personnes
        self._optin1_porteur = optin1_porteur
        self._optin2_porteur = optin2_porteur
        self._format_pays_etat = format_pays_etat
        self._nom_club_porteur = nom_club_porteur
        self._num_club_porteur = num_club_porteur
        self._structure_porteur = structure_porteur
        self._fonction_porteur = fonction_porteur
        self._nombre_accompagnateurs = nombre_accompagnateurs
        self._numero_abonnement = numero_abonnement
        self._date_arrivee_porteur = date_arrivee_porteur
        self._option1_ol = option1_ol
        self._option2_ol = option2_ol
        self._option3_ol = option3_ol
        self._option4_ol = option4_ol
        self._option5_ol = option5_ol
        self._option6_ol = option6_ol
        self._option13_ol = option13_ol
        self._nom_urgence_vuitton = nom_urgence_vuitton
        self._tel_urgence_vuitton = tel_urgence_vuitton
        self._infos_complementaires_vuitton = infos_complementaires_vuitton
        self._option1_vuitton = option1_vuitton
        self._numero_licenceffa = numero_licenceffa

    @property
    def nom(self):
        """
        Gets the nom of this Holder.

        :return: The nom of this Holder.
        :rtype: str
        """
        return self._nom

    @nom.setter
    def nom(self, nom):
        """
        Sets the nom of this Holder.

        :param nom: The nom of this Holder.
        :type: str
        """

        self._nom = nom

    @property
    def prenom(self):
        """
        Gets the prenom of this Holder.

        :return: The prenom of this Holder.
        :rtype: str
        """
        return self._prenom

    @prenom.setter
    def prenom(self, prenom):
        """
        Sets the prenom of this Holder.

        :param prenom: The prenom of this Holder.
        :type: str
        """

        self._prenom = prenom

    @property
    def civilite_porteur(self):
        """
        Gets the civilite_porteur of this Holder.

        :return: The civilite_porteur of this Holder.
        :rtype: str
        """
        return self._civilite_porteur

    @civilite_porteur.setter
    def civilite_porteur(self, civilite_porteur):
        """
        Sets the civilite_porteur of this Holder.

        :param civilite_porteur: The civilite_porteur of this Holder.
        :type: str
        """

        self._civilite_porteur = civilite_porteur

    @property
    def date_naissance_porteur(self):
        """
        Gets the date_naissance_porteur of this Holder.

        :return: The date_naissance_porteur of this Holder.
        :rtype: str
        """
        return self._date_naissance_porteur

    @date_naissance_porteur.setter
    def date_naissance_porteur(self, date_naissance_porteur):
        """
        Sets the date_naissance_porteur of this Holder.

        :param date_naissance_porteur: The date_naissance_porteur of this Holder.
        :type: str
        """

        self._date_naissance_porteur = date_naissance_porteur

    @property
    def adresse_porteur(self):
        """
        Gets the adresse_porteur of this Holder.

        :return: The adresse_porteur of this Holder.
        :rtype: str
        """
        return self._adresse_porteur

    @adresse_porteur.setter
    def adresse_porteur(self, adresse_porteur):
        """
        Sets the adresse_porteur of this Holder.

        :param adresse_porteur: The adresse_porteur of this Holder.
        :type: str
        """

        self._adresse_porteur = adresse_porteur

    @property
    def complement_adresse_porteur(self):
        """
        Gets the complement_adresse_porteur of this Holder.

        :return: The complement_adresse_porteur of this Holder.
        :rtype: str
        """
        return self._complement_adresse_porteur

    @complement_adresse_porteur.setter
    def complement_adresse_porteur(self, complement_adresse_porteur):
        """
        Sets the complement_adresse_porteur of this Holder.

        :param complement_adresse_porteur: The complement_adresse_porteur of this Holder.
        :type: str
        """

        self._complement_adresse_porteur = complement_adresse_porteur

    @property
    def code_postal_porteur(self):
        """
        Gets the code_postal_porteur of this Holder.

        :return: The code_postal_porteur of this Holder.
        :rtype: str
        """
        return self._code_postal_porteur

    @code_postal_porteur.setter
    def code_postal_porteur(self, code_postal_porteur):
        """
        Sets the code_postal_porteur of this Holder.

        :param code_postal_porteur: The code_postal_porteur of this Holder.
        :type: str
        """

        self._code_postal_porteur = code_postal_porteur

    @property
    def ville_porteur(self):
        """
        Gets the ville_porteur of this Holder.

        :return: The ville_porteur of this Holder.
        :rtype: str
        """
        return self._ville_porteur

    @ville_porteur.setter
    def ville_porteur(self, ville_porteur):
        """
        Sets the ville_porteur of this Holder.

        :param ville_porteur: The ville_porteur of this Holder.
        :type: str
        """

        self._ville_porteur = ville_porteur

    @property
    def pays_porteur(self):
        """
        Gets the pays_porteur of this Holder.

        :return: The pays_porteur of this Holder.
        :rtype: str
        """
        return self._pays_porteur

    @pays_porteur.setter
    def pays_porteur(self, pays_porteur):
        """
        Sets the pays_porteur of this Holder.

        :param pays_porteur: The pays_porteur of this Holder.
        :type: str
        """

        self._pays_porteur = pays_porteur

    @property
    def mobile_porteur(self):
        """
        Gets the mobile_porteur of this Holder.

        :return: The mobile_porteur of this Holder.
        :rtype: str
        """
        return self._mobile_porteur

    @mobile_porteur.setter
    def mobile_porteur(self, mobile_porteur):
        """
        Sets the mobile_porteur of this Holder.

        :param mobile_porteur: The mobile_porteur of this Holder.
        :type: str
        """

        self._mobile_porteur = mobile_porteur

    @property
    def mail_porteur(self):
        """
        Gets the mail_porteur of this Holder.

        :return: The mail_porteur of this Holder.
        :rtype: str
        """
        return self._mail_porteur

    @mail_porteur.setter
    def mail_porteur(self, mail_porteur):
        """
        Sets the mail_porteur of this Holder.

        :param mail_porteur: The mail_porteur of this Holder.
        :type: str
        """

        self._mail_porteur = mail_porteur

    @property
    def observations_porteur(self):
        """
        Gets the observations_porteur of this Holder.

        :return: The observations_porteur of this Holder.
        :rtype: str
        """
        return self._observations_porteur

    @observations_porteur.setter
    def observations_porteur(self, observations_porteur):
        """
        Sets the observations_porteur of this Holder.

        :param observations_porteur: The observations_porteur of this Holder.
        :type: str
        """

        self._observations_porteur = observations_porteur

    @property
    def nombre_personnes(self):
        """
        Gets the nombre_personnes of this Holder.

        :return: The nombre_personnes of this Holder.
        :rtype: str
        """
        return self._nombre_personnes

    @nombre_personnes.setter
    def nombre_personnes(self, nombre_personnes):
        """
        Sets the nombre_personnes of this Holder.

        :param nombre_personnes: The nombre_personnes of this Holder.
        :type: str
        """

        self._nombre_personnes = nombre_personnes

    @property
    def optin1_porteur(self):
        """
        Gets the optin1_porteur of this Holder.

        :return: The optin1_porteur of this Holder.
        :rtype: str
        """
        return self._optin1_porteur

    @optin1_porteur.setter
    def optin1_porteur(self, optin1_porteur):
        """
        Sets the optin1_porteur of this Holder.

        :param optin1_porteur: The optin1_porteur of this Holder.
        :type: str
        """

        self._optin1_porteur = optin1_porteur

    @property
    def optin2_porteur(self):
        """
        Gets the optin2_porteur of this Holder.

        :return: The optin2_porteur of this Holder.
        :rtype: str
        """
        return self._optin2_porteur

    @optin2_porteur.setter
    def optin2_porteur(self, optin2_porteur):
        """
        Sets the optin2_porteur of this Holder.

        :param optin2_porteur: The optin2_porteur of this Holder.
        :type: str
        """

        self._optin2_porteur = optin2_porteur

    @property
    def format_pays_etat(self):
        """
        Gets the format_pays_etat of this Holder.

        :return: The format_pays_etat of this Holder.
        :rtype: str
        """
        return self._format_pays_etat

    @format_pays_etat.setter
    def format_pays_etat(self, format_pays_etat):
        """
        Sets the format_pays_etat of this Holder.

        :param format_pays_etat: The format_pays_etat of this Holder.
        :type: str
        """

        self._format_pays_etat = format_pays_etat

    @property
    def nom_club_porteur(self):
        """
        Gets the nom_club_porteur of this Holder.

        :return: The nom_club_porteur of this Holder.
        :rtype: str
        """
        return self._nom_club_porteur

    @nom_club_porteur.setter
    def nom_club_porteur(self, nom_club_porteur):
        """
        Sets the nom_club_porteur of this Holder.

        :param nom_club_porteur: The nom_club_porteur of this Holder.
        :type: str
        """

        self._nom_club_porteur = nom_club_porteur

    @property
    def num_club_porteur(self):
        """
        Gets the num_club_porteur of this Holder.

        :return: The num_club_porteur of this Holder.
        :rtype: str
        """
        return self._num_club_porteur

    @num_club_porteur.setter
    def num_club_porteur(self, num_club_porteur):
        """
        Sets the num_club_porteur of this Holder.

        :param num_club_porteur: The num_club_porteur of this Holder.
        :type: str
        """

        self._num_club_porteur = num_club_porteur

    @property
    def structure_porteur(self):
        """
        Gets the structure_porteur of this Holder.

        :return: The structure_porteur of this Holder.
        :rtype: str
        """
        return self._structure_porteur

    @structure_porteur.setter
    def structure_porteur(self, structure_porteur):
        """
        Sets the structure_porteur of this Holder.

        :param structure_porteur: The structure_porteur of this Holder.
        :type: str
        """

        self._structure_porteur = structure_porteur

    @property
    def fonction_porteur(self):
        """
        Gets the fonction_porteur of this Holder.

        :return: The fonction_porteur of this Holder.
        :rtype: str
        """
        return self._fonction_porteur

    @fonction_porteur.setter
    def fonction_porteur(self, fonction_porteur):
        """
        Sets the fonction_porteur of this Holder.

        :param fonction_porteur: The fonction_porteur of this Holder.
        :type: str
        """

        self._fonction_porteur = fonction_porteur

    @property
    def nombre_accompagnateurs(self):
        """
        Gets the nombre_accompagnateurs of this Holder.

        :return: The nombre_accompagnateurs of this Holder.
        :rtype: str
        """
        return self._nombre_accompagnateurs

    @nombre_accompagnateurs.setter
    def nombre_accompagnateurs(self, nombre_accompagnateurs):
        """
        Sets the nombre_accompagnateurs of this Holder.

        :param nombre_accompagnateurs: The nombre_accompagnateurs of this Holder.
        :type: str
        """

        self._nombre_accompagnateurs = nombre_accompagnateurs

    @property
    def numero_abonnement(self):
        """
        Gets the numero_abonnement of this Holder.

        :return: The numero_abonnement of this Holder.
        :rtype: str
        """
        return self._numero_abonnement

    @numero_abonnement.setter
    def numero_abonnement(self, numero_abonnement):
        """
        Sets the numero_abonnement of this Holder.

        :param numero_abonnement: The numero_abonnement of this Holder.
        :type: str
        """

        self._numero_abonnement = numero_abonnement

    @property
    def date_arrivee_porteur(self):
        """
        Gets the date_arrivee_porteur of this Holder.

        :return: The date_arrivee_porteur of this Holder.
        :rtype: str
        """
        return self._date_arrivee_porteur

    @date_arrivee_porteur.setter
    def date_arrivee_porteur(self, date_arrivee_porteur):
        """
        Sets the date_arrivee_porteur of this Holder.

        :param date_arrivee_porteur: The date_arrivee_porteur of this Holder.
        :type: str
        """

        self._date_arrivee_porteur = date_arrivee_porteur

    @property
    def option1_ol(self):
        """
        Gets the option1_ol of this Holder.

        :return: The option1_ol of this Holder.
        :rtype: str
        """
        return self._option1_ol

    @option1_ol.setter
    def option1_ol(self, option1_ol):
        """
        Sets the option1_ol of this Holder.

        :param option1_ol: The option1_ol of this Holder.
        :type: str
        """

        self._option1_ol = option1_ol

    @property
    def option2_ol(self):
        """
        Gets the option2_ol of this Holder.

        :return: The option2_ol of this Holder.
        :rtype: str
        """
        return self._option2_ol

    @option2_ol.setter
    def option2_ol(self, option2_ol):
        """
        Sets the option2_ol of this Holder.

        :param option2_ol: The option2_ol of this Holder.
        :type: str
        """

        self._option2_ol = option2_ol

    @property
    def option3_ol(self):
        """
        Gets the option3_ol of this Holder.

        :return: The option3_ol of this Holder.
        :rtype: str
        """
        return self._option3_ol

    @option3_ol.setter
    def option3_ol(self, option3_ol):
        """
        Sets the option3_ol of this Holder.

        :param option3_ol: The option3_ol of this Holder.
        :type: str
        """

        self._option3_ol = option3_ol

    @property
    def option4_ol(self):
        """
        Gets the option4_ol of this Holder.

        :return: The option4_ol of this Holder.
        :rtype: str
        """
        return self._option4_ol

    @option4_ol.setter
    def option4_ol(self, option4_ol):
        """
        Sets the option4_ol of this Holder.

        :param option4_ol: The option4_ol of this Holder.
        :type: str
        """

        self._option4_ol = option4_ol

    @property
    def option5_ol(self):
        """
        Gets the option5_ol of this Holder.

        :return: The option5_ol of this Holder.
        :rtype: str
        """
        return self._option5_ol

    @option5_ol.setter
    def option5_ol(self, option5_ol):
        """
        Sets the option5_ol of this Holder.

        :param option5_ol: The option5_ol of this Holder.
        :type: str
        """

        self._option5_ol = option5_ol

    @property
    def option6_ol(self):
        """
        Gets the option6_ol of this Holder.

        :return: The option6_ol of this Holder.
        :rtype: str
        """
        return self._option6_ol

    @option6_ol.setter
    def option6_ol(self, option6_ol):
        """
        Sets the option6_ol of this Holder.

        :param option6_ol: The option6_ol of this Holder.
        :type: str
        """

        self._option6_ol = option6_ol

    @property
    def option13_ol(self):
        """
        Gets the option13_ol of this Holder.

        :return: The option13_ol of this Holder.
        :rtype: str
        """
        return self._option13_ol

    @option13_ol.setter
    def option13_ol(self, option13_ol):
        """
        Sets the option13_ol of this Holder.

        :param option13_ol: The option13_ol of this Holder.
        :type: str
        """

        self._option13_ol = option13_ol

    @property
    def nom_urgence_vuitton(self):
        """
        Gets the nom_urgence_vuitton of this Holder.

        :return: The nom_urgence_vuitton of this Holder.
        :rtype: str
        """
        return self._nom_urgence_vuitton

    @nom_urgence_vuitton.setter
    def nom_urgence_vuitton(self, nom_urgence_vuitton):
        """
        Sets the nom_urgence_vuitton of this Holder.

        :param nom_urgence_vuitton: The nom_urgence_vuitton of this Holder.
        :type: str
        """

        self._nom_urgence_vuitton = nom_urgence_vuitton

    @property
    def tel_urgence_vuitton(self):
        """
        Gets the tel_urgence_vuitton of this Holder.

        :return: The tel_urgence_vuitton of this Holder.
        :rtype: str
        """
        return self._tel_urgence_vuitton

    @tel_urgence_vuitton.setter
    def tel_urgence_vuitton(self, tel_urgence_vuitton):
        """
        Sets the tel_urgence_vuitton of this Holder.

        :param tel_urgence_vuitton: The tel_urgence_vuitton of this Holder.
        :type: str
        """

        self._tel_urgence_vuitton = tel_urgence_vuitton

    @property
    def infos_complementaires_vuitton(self):
        """
        Gets the infos_complementaires_vuitton of this Holder.

        :return: The infos_complementaires_vuitton of this Holder.
        :rtype: str
        """
        return self._infos_complementaires_vuitton

    @infos_complementaires_vuitton.setter
    def infos_complementaires_vuitton(self, infos_complementaires_vuitton):
        """
        Sets the infos_complementaires_vuitton of this Holder.

        :param infos_complementaires_vuitton: The infos_complementaires_vuitton of this Holder.
        :type: str
        """

        self._infos_complementaires_vuitton = infos_complementaires_vuitton

    @property
    def option1_vuitton(self):
        """
        Gets the option1_vuitton of this Holder.

        :return: The option1_vuitton of this Holder.
        :rtype: str
        """
        return self._option1_vuitton

    @option1_vuitton.setter
    def option1_vuitton(self, option1_vuitton):
        """
        Sets the option1_vuitton of this Holder.

        :param option1_vuitton: The option1_vuitton of this Holder.
        :type: str
        """

        self._option1_vuitton = option1_vuitton

    @property
    def numero_licenceffa(self):
        """
        Gets the numero_licenceffa of this Holder.

        :return: The numero_licenceffa of this Holder.
        :rtype: str
        """
        return self._numero_licenceffa

    @numero_licenceffa.setter
    def numero_licenceffa(self, numero_licenceffa):
        """
        Sets the numero_licenceffa of this Holder.

        :param numero_licenceffa: The numero_licenceffa of this Holder.
        :type: str
        """

        self._numero_licenceffa = numero_licenceffa

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

        for attr, _ in 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

        return result

    def to_str(self):
        """
        Returns the string representation of the model
        """
        return 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, Holder):
            return False

        return self.__dict__ == other.__dict__

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