# This file was auto-generated by Fern from our API Definition.

import typing_extensions
import typing_extensions
import typing
from ..types.team_member_status import TeamMemberStatus
from .team_member_assigned_locations import TeamMemberAssignedLocationsParams
from .wage_setting import WageSettingParams


class TeamMemberParams(typing_extensions.TypedDict):
    """
    A record representing an individual team member for a business.
    """

    id: typing_extensions.NotRequired[str]
    """
    The unique ID for the team member.
    """

    reference_id: typing_extensions.NotRequired[typing.Optional[str]]
    """
    A second ID used to associate the team member with an entity in another system.
    """

    is_owner: typing_extensions.NotRequired[bool]
    """
    Whether the team member is the owner of the Square account.
    """

    status: typing_extensions.NotRequired[TeamMemberStatus]
    """
    Describes the status of the team member.
    See [TeamMemberStatus](#type-teammemberstatus) for possible values
    """

    given_name: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The given name (that is, the first name) associated with the team member.
    """

    family_name: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The family name (that is, the last name) associated with the team member.
    """

    email_address: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The email address associated with the team member. After accepting the invitation
    from Square, only the team member can change this value.
    """

    phone_number: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The team member's phone number, in E.164 format. For example:
    +14155552671 - the country code is 1 for US
    +551155256325 - the country code is 55 for BR
    """

    created_at: typing_extensions.NotRequired[str]
    """
    The timestamp when the team member was created, in RFC 3339 format.
    """

    updated_at: typing_extensions.NotRequired[str]
    """
    The timestamp when the team member was last updated, in RFC 3339 format.
    """

    assigned_locations: typing_extensions.NotRequired[TeamMemberAssignedLocationsParams]
    """
    Describes the team member's assigned locations.
    """

    wage_setting: typing_extensions.NotRequired[WageSettingParams]
    """
    Information about the team member's overtime exemption status, job assignments, and compensation.
    """
