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

from __future__ import annotations
from .postaladdresscreate import PostalAddressCreate, PostalAddressCreateTypedDict
from ascend_sdk.types import BaseModel
from typing import List
from typing_extensions import TypedDict


class TravelRulePartyCreateTypedDict(TypedDict):
    r"""Travel rule party"""

    address: PostalAddressCreateTypedDict
    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
    """
    family_name: str
    r"""The last name of the party"""
    given_names: List[str]
    r"""The first name of the party as well as any non-primary given names (e.g. middle names)"""


class TravelRulePartyCreate(BaseModel):
    r"""Travel rule party"""

    address: PostalAddressCreate
    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
    """

    family_name: str
    r"""The last name of the party"""

    given_names: List[str]
    r"""The first name of the party as well as any non-primary given names (e.g. middle names)"""
