# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import List, Optional
from typing_extensions import TypeAlias

from pydantic import Field as FieldInfo

from .rewards import Rewards
from ...._models import BaseModel

__all__ = ["ShowListResponse", "ShowListResponseItem"]


class ShowListResponseItem(BaseModel):
    id: Optional[int] = None
    """The id of the current show."""

    are_lottery_tickets_available: Optional[bool] = FieldInfo(alias="areLotteryTicketsAvailable", default=None)
    """
    A boolean representing whether or not the current show has any lottery showtimes
    that are accepting entries.
    """

    are_regular_tickets_available: Optional[bool] = FieldInfo(alias="areRegularTicketsAvailable", default=None)
    """
    A boolean representing whether or not the current show has any regular
    showtimes.
    """

    are_rush_tickets_available: Optional[bool] = FieldInfo(alias="areRushTicketsAvailable", default=None)
    """
    A boolean representing whether or not the current show has any rush showtimes
    that are currently open.
    """

    description: Optional[str] = None
    """The description associated with the current show."""

    display_name: Optional[str] = FieldInfo(alias="displayName", default=None)
    """The display name of the current show."""

    hide_from_google: Optional[bool] = FieldInfo(alias="hideFromGoogle", default=None)
    """A boolean representing whether or not the show should be hidden from Google."""

    hide_from_hero_list: Optional[bool] = FieldInfo(alias="hideFromHeroList", default=None)
    """
    A boolean representing whether or not the show should be hidden from the hero
    list.
    """

    hide_from_search: Optional[bool] = FieldInfo(alias="hideFromSearch", default=None)
    """A boolean representing whether or not the show should be hidden from search."""

    is_active: Optional[bool] = FieldInfo(alias="isActive", default=None)
    """A boolean representing whether or not the show is active."""

    location_id: Optional[int] = FieldInfo(alias="locationId", default=None)
    """The location id associated with the current show."""

    low_price: Optional[str] = FieldInfo(alias="lowPrice", default=None)
    """The low price for the current show including the appropriate currency symbol."""

    name: Optional[str] = None
    """The name of the current show."""

    recent_pdp_views_count: Optional[int] = FieldInfo(alias="recentPdpViewsCount", default=None)
    """The number of recent PDP views for the current show."""

    rewards: Optional[Rewards] = None


ShowListResponse: TypeAlias = List[ShowListResponseItem]
