41 lines
855 B
Python
41 lines
855 B
Python
from datetime import datetime
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
from app.models.enums import TicketStatus
|
|
|
|
|
|
class TicketVerifyRequest(BaseModel):
|
|
qr_token: str = Field(min_length=16, max_length=128)
|
|
|
|
|
|
class TicketVerifyResponse(BaseModel):
|
|
valid: bool
|
|
status: TicketStatus
|
|
ticket_id: int
|
|
ticket_code: str
|
|
event_title: str
|
|
message: str
|
|
|
|
|
|
class TicketDetailPublic(BaseModel):
|
|
id: int
|
|
code: str
|
|
status: TicketStatus
|
|
order_id: int
|
|
event_id: int
|
|
event_title: str
|
|
event_starts_at: datetime
|
|
event_ends_at: datetime | None
|
|
venue_name: str
|
|
venue_area: str
|
|
venue_city: str
|
|
attendee_name: str
|
|
attendee_email: str
|
|
ticket_type_name: str
|
|
ticket_type_id: int
|
|
qr_token: str
|
|
qr_payload: str
|
|
qr_image_base64: str
|
|
used_at: datetime | None
|
|
created_at: datetime
|