# coding: utf-8

"""
    Fingerprint Server API

    Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device.   # noqa: E501

    OpenAPI spec version: 3
    Contact: support@fingerprint.com
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import re  # noqa: F401
from typing import Dict, List, Optional  # noqa: F401
from fingerprint_pro_server_api_sdk.base_model import BaseModel
from fingerprint_pro_server_api_sdk.models.identification_confidence import IdentificationConfidence
from fingerprint_pro_server_api_sdk.models.identification_seen_at import IdentificationSeenAt
from fingerprint_pro_server_api_sdk.models.identification_seen_at import IdentificationSeenAt


class SupplementaryID(BaseModel):
    """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 = {
        'visitor_id': 'str',
        'visitor_found': 'bool',
        'confidence': 'IdentificationConfidence',
        'first_seen_at': 'IdentificationSeenAt',
        'last_seen_at': 'IdentificationSeenAt'
    }

    nullable_map = {
        'visitor_id': False,
        'visitor_found': False,
        'confidence': False,
        'first_seen_at': False,
        'last_seen_at': False
    }

    attribute_map = {
        'visitor_id': 'visitorId',
        'visitor_found': 'visitorFound',
        'confidence': 'confidence',
        'first_seen_at': 'firstSeenAt',
        'last_seen_at': 'lastSeenAt'
    }

    def __init__(self, visitor_id=None, visitor_found=None, confidence=None, first_seen_at=None, last_seen_at=None):  # noqa: E501
        """SupplementaryID - a model defined in Swagger"""  # noqa: E501
        self._visitor_id = None
        self._visitor_found = None
        self._confidence = None
        self._first_seen_at = None
        self._last_seen_at = None
        self.discriminator = None
        if visitor_id is not None:
            self.visitor_id = visitor_id
        if visitor_found is not None:
            self.visitor_found = visitor_found
        if confidence is not None:
            self.confidence = confidence
        if first_seen_at is not None:
            self.first_seen_at = first_seen_at
        if last_seen_at is not None:
            self.last_seen_at = last_seen_at

    @property
    def visitor_id(self) -> Optional[str]:
        """Gets the visitor_id of this SupplementaryID.  # noqa: E501

        String of 20 characters that uniquely identifies the visitor's browser or mobile device.  # noqa: E501

        :return: The visitor_id of this SupplementaryID.  # noqa: E501
        """
        return self._visitor_id

    @visitor_id.setter
    def visitor_id(self, visitor_id: Optional[str]):
        """Sets the visitor_id of this SupplementaryID.

        String of 20 characters that uniquely identifies the visitor's browser or mobile device.  # noqa: E501

        :param visitor_id: The visitor_id of this SupplementaryID.  # noqa: E501
        """

        self._visitor_id = visitor_id

    @property
    def visitor_found(self) -> Optional[bool]:
        """Gets the visitor_found of this SupplementaryID.  # noqa: E501

        Attribute represents if a visitor had been identified before.  # noqa: E501

        :return: The visitor_found of this SupplementaryID.  # noqa: E501
        """
        return self._visitor_found

    @visitor_found.setter
    def visitor_found(self, visitor_found: Optional[bool]):
        """Sets the visitor_found of this SupplementaryID.

        Attribute represents if a visitor had been identified before.  # noqa: E501

        :param visitor_found: The visitor_found of this SupplementaryID.  # noqa: E501
        """

        self._visitor_found = visitor_found

    @property
    def confidence(self) -> Optional[IdentificationConfidence]:
        """Gets the confidence of this SupplementaryID.  # noqa: E501


        :return: The confidence of this SupplementaryID.  # noqa: E501
        """
        return self._confidence

    @confidence.setter
    def confidence(self, confidence: Optional[IdentificationConfidence]):
        """Sets the confidence of this SupplementaryID.


        :param confidence: The confidence of this SupplementaryID.  # noqa: E501
        """

        self._confidence = confidence

    @property
    def first_seen_at(self) -> Optional[IdentificationSeenAt]:
        """Gets the first_seen_at of this SupplementaryID.  # noqa: E501


        :return: The first_seen_at of this SupplementaryID.  # noqa: E501
        """
        return self._first_seen_at

    @first_seen_at.setter
    def first_seen_at(self, first_seen_at: Optional[IdentificationSeenAt]):
        """Sets the first_seen_at of this SupplementaryID.


        :param first_seen_at: The first_seen_at of this SupplementaryID.  # noqa: E501
        """

        self._first_seen_at = first_seen_at

    @property
    def last_seen_at(self) -> Optional[IdentificationSeenAt]:
        """Gets the last_seen_at of this SupplementaryID.  # noqa: E501


        :return: The last_seen_at of this SupplementaryID.  # noqa: E501
        """
        return self._last_seen_at

    @last_seen_at.setter
    def last_seen_at(self, last_seen_at: Optional[IdentificationSeenAt]):
        """Sets the last_seen_at of this SupplementaryID.


        :param last_seen_at: The last_seen_at of this SupplementaryID.  # noqa: E501
        """

        self._last_seen_at = last_seen_at

