from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field
from pydantic.alias_generators import to_camel
from typing import Optional
from module_admin.annotation.pydantic_annotation import as_query


class VisitorReservationQueryModel(BaseModel):
    
    
    receptionistId: Optional[str] = Field(default=None, description='接待ID')
    visitorName: Optional[str] = Field(default=None, description='访客姓名,支持模糊搜索')
    phoneNo: Optional[str] = Field(default=None, description='访客手机号')
    visitStartTimeBegin: Optional[str] = Field(default=None, description='开始时间, 满足ISO8601格式')
    visitStartTimeEnd: Optional[str] = Field(default=None, description='结束时间, 满足ISO8601格式')
    visitEndTimeBegin: Optional[str] = Field(default=None, description='开始时间, 满足ISO8601格式')
    visitEndTimeEnd: Optional[str] = Field(default=None, description='结束时间, 满足ISO8601格式')
    
    pageNo: int = Field(default=1, description='页码')
    pageSize: int = Field(default=20, description='每页数量')
    
    visitorStatus: Optional[int] = Field(default=None, description='访客状态')
    orderId: Optional[str] = Field(default=None, description='订单ID')
    