Coverage for packages/clopos/src/integrify/clopos/schemas/receipts/request.py: 100%
28 statements
« prev ^ index » next coverage.py v7.16.0, created at 2026-10-19 02:39 +0000
« prev ^ index » next coverage.py v7.16.0, created at 2026-10-19 02:39 +0000
1from decimal import Decimal
3from integrify.clopos.helpers import IsoDateTime
4from integrify.clopos.schemas.common.request import ByIDRequest, PaginatedDataRequest
5from integrify.clopos.schemas.enums import OrderStatus
6from integrify.utils import UnsetField
7from pydantic import BaseModel
10class PaymentMethodIn(BaseModel):
11 id: int
12 """The unique identifier for the payment method"""
14 name: str
15 """The name of the payment method (e.g., "Cash", "Card")"""
17 amount: Decimal
18 """The amount paid via this payment method"""
21class GetReceiptsRequest(PaginatedDataRequest):
22 sort_by: UnsetField[str]
23 sort_order: UnsetField[int]
24 date_from: UnsetField[IsoDateTime]
25 date_to: UnsetField[IsoDateTime]
28class UpdateClosedReceiptRequest(ByIDRequest):
29 order_status: UnsetField[OrderStatus]
30 order_number: UnsetField[str]
31 fiscal_id: UnsetField[str]
32 lock: UnsetField[bool]
35class CloseReceiptRequest(ByIDRequest):
36 id: int
37 cid: str
38 payment_methods: list[PaymentMethodIn]
39 closed_at: IsoDateTime = ''