from pydantic import BaseModel class PassengerDTO(BaseModel): CustName: str CustMobile: str CustEmail: str CustDestinationAddress: str class DropoffDTO(BaseModel): office_id: int class InfoTicketDTO(BaseModel): PickUpName: str PickUpStreet: str OfficePickupId: int DropOffName: str DropOffStreet: str OfficeDropOffId: int Dropoff: DropoffDTO CarBookingId: int DepartureDate: str DepartureTime: str Kind: str WayId: int DestCode: str DestName: str OriginCode: str OriginName: str Price: int RouteId: int RouteName: str NumOfTicket: int SeatIds: list[int] SeatNames: list[str] Passengers: list[PassengerDTO] Channel: str class TicketBookingDTO(BaseModel): CustName: str CustMobile: str CustEmail: str CustDestinationAddress: str CustId: str PickUpName: str PickUpStreet: str OfficePickupId: int DropOffName: str DropOffStreet: str OfficeDropOffId: int Dropoff: DropoffDTO CarBookingId: int DepartureDate: str DepartureTime: str Kind: str WayId: int DestCode: str DestName: str OriginCode: str OriginName: str Price: int RouteId: int RouteName: str NumOfTicket: int SeatIds: list[int] SeatNames: list[str] Passengers: list[PassengerDTO] Channel: str DeviceId: str | None = None EnglishTicket: int SeatDiscounts: list[str] # assuming it's list of strings; adjust as needed CustAddress: str CustCode: str CustHomeAddress: str CustMobile2: str CustSN: str InfoTicket: list[InfoTicketDTO]