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

from __future__ import annotations
from .entityidentificationupdate import (
    EntityIdentificationUpdate,
    EntityIdentificationUpdateTypedDict,
)
from .postaladdressupdate import PostalAddressUpdate, PostalAddressUpdateTypedDict
from ascend_sdk.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class EntityUpdateTypedDict(TypedDict):
    r"""investigation details on an entity"""

    dba_names: NotRequired[List[str]]
    r"""Other names the entity is known by (Doing Business As)"""
    email_addresses: NotRequired[List[str]]
    r"""Email addresses"""
    identifications: NotRequired[List[EntityIdentificationUpdateTypedDict]]
    r"""Identification details including id value, and type (e.g. ein, lei)"""
    legal_address: NotRequired[PostalAddressUpdateTypedDict]
    r"""Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains).

    In typical usage an address would be created via user input or from importing existing data, depending on the type of process.

    Advice on address input / editing: - Use an i18n-ready address widget such as  https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of  fields outside countries where that field is used.

    For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478
    """
    legal_name: NotRequired[str]
    r"""The legal name of the entity"""
    mailing_addresses: NotRequired[List[PostalAddressUpdateTypedDict]]
    r"""mailing address"""
    operating_region_codes: NotRequired[List[str]]
    r"""The countries where an entity does business Two character region code, complies with https://cldr.unicode.org/index Example values: \"US\", \"CA\" """
    phone_numbers: NotRequired[List[str]]
    r"""phone numbers"""
    registration_region: NotRequired[str]
    r"""Region of registration Two character region code, complies with https://cldr.unicode.org/index Example values: \"US\", \"CA\" """


class EntityUpdate(BaseModel):
    r"""investigation details on an entity"""

    dba_names: Optional[List[str]] = None
    r"""Other names the entity is known by (Doing Business As)"""

    email_addresses: Optional[List[str]] = None
    r"""Email addresses"""

    identifications: Optional[List[EntityIdentificationUpdate]] = None
    r"""Identification details including id value, and type (e.g. ein, lei)"""

    legal_address: Optional[PostalAddressUpdate] = None
    r"""Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains).

    In typical usage an address would be created via user input or from importing existing data, depending on the type of process.

    Advice on address input / editing: - Use an i18n-ready address widget such as  https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of  fields outside countries where that field is used.

    For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478
    """

    legal_name: Optional[str] = None
    r"""The legal name of the entity"""

    mailing_addresses: Optional[List[PostalAddressUpdate]] = None
    r"""mailing address"""

    operating_region_codes: Optional[List[str]] = None
    r"""The countries where an entity does business Two character region code, complies with https://cldr.unicode.org/index Example values: \"US\", \"CA\" """

    phone_numbers: Optional[List[str]] = None
    r"""phone numbers"""

    registration_region: Optional[str] = None
    r"""Region of registration Two character region code, complies with https://cldr.unicode.org/index Example values: \"US\", \"CA\" """
