"""
byceps.events.ticketing
~~~~~~~~~~~~~~~~~~~~~~~
:Copyright: 2006-2021 Jochen Kupperschmidt
:License: Revised BSD (see `LICENSE` file for details)
"""
from dataclasses import dataclass
from typing import Optional
from ..services.seating.transfer.models import SeatID
from ..services.ticketing.transfer.models import TicketCode, TicketID
from ..typing import PartyID, UserID
from .base import _BaseEvent
@dataclass(frozen=True)
class _TicketEvent(_BaseEvent):
ticket_id: TicketID
@dataclass(frozen=True)
class TicketCheckedIn(_TicketEvent):
ticket_code: TicketCode
occupied_seat_id: Optional[SeatID]
user_id: Optional[UserID]
user_screen_name: Optional[str]
@dataclass(frozen=True)
class TicketsSold(_BaseEvent):
party_id: PartyID
owner_id: Optional[UserID]
owner_screen_name: Optional[str]
quantity: int