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

from typing import List, Optional

from pydantic import Field as FieldInfo

from ...._models import BaseModel

__all__ = ["SeatsInfo", "SeatsDetail"]


class SeatsDetail(BaseModel):
    descriptions: Optional[List[str]] = None
    """An array of notes describing the seat"""

    seat: Optional[str] = None
    """A user-facing name for the seat, not including row"""


class SeatsInfo(BaseModel):
    door_info: Optional[str] = FieldInfo(alias="doorInfo", default=None)
    """Door information provided by the Transaction or the Ticket, nullable"""

    end_seat: Optional[str] = FieldInfo(alias="endSeat", default=None)
    """
    identifier of the end seat, or null if only one seat is held or General
    Admission
    """

    row: Optional[str] = None
    """Row name, or null if General Admission"""

    seats: Optional[List[str]] = None
    """List of seat names, or empty if General Admission"""

    seats_details: Optional[List[SeatsDetail]] = FieldInfo(alias="seatsDetails", default=None)
    """Information about each of the seats, if there is any"""

    section_code: Optional[str] = FieldInfo(alias="sectionCode", default=None)
    """Section code, as used in seating chart"""

    section_name: Optional[str] = FieldInfo(alias="sectionName", default=None)
    """Section name"""

    start_seat: Optional[str] = FieldInfo(alias="startSeat", default=None)
    """identifier of the start seat, or null if General Admission"""
