TorbatYar/backend/services/hospitality/app/schemas/kitchen.py
Mortezakoohjani 5c6a2e78cf feat(platform): seed service registry, deploy all modules, and fix homepage catalog.
Register all active platform services and base features in core DB so admin can manage them, add delivery/hospitality/sports-center backend phases, update apps catalog and production deploy tooling.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 12:39:51 +03:30

95 lines
2.1 KiB
Python

"""Kitchen DTOs — Phase 12.6."""
from __future__ import annotations
from datetime import datetime
from uuid import UUID
from pydantic import BaseModel, Field
from app.models.types import (
KitchenItemStatus,
KitchenTicketSource,
KitchenTicketStatus,
LifecycleStatus,
)
from app.schemas.common import ORMBase
class KitchenStationCreate(BaseModel):
venue_id: UUID
code: str = Field(max_length=50)
name: str = Field(max_length=255)
status: LifecycleStatus = LifecycleStatus.ACTIVE
class KitchenStationRead(ORMBase):
id: UUID
tenant_id: UUID
venue_id: UUID
code: str
name: str
status: LifecycleStatus
is_deleted: bool
created_by: str | None
updated_by: str | None
created_at: datetime
updated_at: datetime
class KitchenTicketCreate(BaseModel):
venue_id: UUID
station_id: UUID | None = None
source_type: KitchenTicketSource = KitchenTicketSource.POS_TICKET
source_id: UUID
code: str = Field(max_length=50)
notes: str | None = None
class KitchenTicketStatusUpdate(BaseModel):
status: KitchenTicketStatus
class KitchenTicketRead(ORMBase):
id: UUID
tenant_id: UUID
venue_id: UUID
station_id: UUID | None
source_type: KitchenTicketSource
source_id: UUID
code: str
status: KitchenTicketStatus
notes: str | None
is_deleted: bool
created_by: str | None
updated_by: str | None
created_at: datetime
updated_at: datetime
class KitchenTicketItemCreate(BaseModel):
venue_id: UUID
kitchen_ticket_id: UUID
menu_item_id: UUID
quantity: int = 1
sort_order: int | None = None
class KitchenTicketItemStatusUpdate(BaseModel):
status: KitchenItemStatus
class KitchenTicketItemRead(ORMBase):
id: UUID
tenant_id: UUID
venue_id: UUID
kitchen_ticket_id: UUID
menu_item_id: UUID
quantity: int
status: KitchenItemStatus
sort_order: int
is_deleted: bool
created_by: str | None
updated_by: str | None
created_at: datetime
updated_at: datetime