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

import typing_extensions
import typing_extensions
from ..types.product import Product
import typing


class SourceApplicationParams(typing_extensions.TypedDict):
    """
    Represents information about the application used to generate a change.
    """

    product: typing_extensions.NotRequired[Product]
    """
    __Read only__ The [product](entity:Product) type of the application.
    See [Product](#type-product) for possible values
    """

    application_id: typing_extensions.NotRequired[typing.Optional[str]]
    """
    __Read only__ The Square-assigned ID of the application. This field is used only if the
    [product](entity:Product) type is `EXTERNAL_API`.
    """

    name: typing_extensions.NotRequired[typing.Optional[str]]
    """
    __Read only__ The display name of the application
    (for example, `"Custom Application"` or `"Square POS 4.74 for Android"`).
    """
