"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from .dateupdate import DateUpdate, DateUpdateTypedDict
from ascend_sdk.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class ProvidedIdentityVerificationUpdateTypedDict(TypedDict):
    r"""Clients must supply data and confirmation attesting to identity verification."""

    address_verified: NotRequired[bool]
    r"""Indicates whether the identity's address was verified"""
    birth_date_verified: NotRequired[bool]
    r"""Indicates whether the identity's date of birth was verified"""
    execution_date: NotRequired[DateUpdateTypedDict]
    r"""Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following:

    * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date

    Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and `google.protobuf.Timestamp`.
    """
    external_case_id: NotRequired[str]
    r"""Client-generated identifier associated with the KYC results for the appropriate case"""
    identity_verification_document_ids: NotRequired[List[str]]
    r"""A collection of unique identifiers provided by the documents api that correspond to any number of identity verification documents used in support of the external vendor to verify the identity, such as a driver's license, passport, etc"""
    name_verified: NotRequired[bool]
    r"""Indicates whether the identity's name was verified"""
    provided_identity_verification_id: NotRequired[str]
    r"""Id of this identity verification record"""
    raw_vendor_data_document_id: NotRequired[str]
    r"""A unique identifier provided from the documents api that corresponds to an identity verification result"""
    tax_id_verified: NotRequired[bool]
    r"""Indicates whether the identity's tax id was verified"""
    vendor: NotRequired[str]
    r"""Name of the vendor that performed identity verification"""


class ProvidedIdentityVerificationUpdate(BaseModel):
    r"""Clients must supply data and confirmation attesting to identity verification."""

    address_verified: Optional[bool] = None
    r"""Indicates whether the identity's address was verified"""

    birth_date_verified: Optional[bool] = None
    r"""Indicates whether the identity's date of birth was verified"""

    execution_date: Optional[DateUpdate] = None
    r"""Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following:

    * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date

    Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and `google.protobuf.Timestamp`.
    """

    external_case_id: Optional[str] = None
    r"""Client-generated identifier associated with the KYC results for the appropriate case"""

    identity_verification_document_ids: Optional[List[str]] = None
    r"""A collection of unique identifiers provided by the documents api that correspond to any number of identity verification documents used in support of the external vendor to verify the identity, such as a driver's license, passport, etc"""

    name_verified: Optional[bool] = None
    r"""Indicates whether the identity's name was verified"""

    provided_identity_verification_id: Optional[str] = None
    r"""Id of this identity verification record"""

    raw_vendor_data_document_id: Optional[str] = None
    r"""A unique identifier provided from the documents api that corresponds to an identity verification result"""

    tax_id_verified: Optional[bool] = None
    r"""Indicates whether the identity's tax id was verified"""

    vendor: Optional[str] = None
    r"""Name of the vendor that performed identity verification"""
