"""Doctor panel list specifications — Phase 13.2."""
from __future__ import annotations

from dataclasses import dataclass
from uuid import UUID

from app.models.types import VisitSessionStatus

ALLOWED_SORT_FIELDS = frozenset({"queue_position", "created_at", "started_at"})


@dataclass
class VisitSessionListSpec:
    doctor_id: UUID | None = None
    clinic_id: UUID | None = None
    status: VisitSessionStatus | None = None
    sort_by: str = "queue_position"
    sort_dir: str = "asc"
