Исходный код cdek.apps.office.filters

from __future__ import annotations

from typing import Literal
from uuid import UUID

from pydantic import BaseModel, Field


[документация] class OfficeFilter(BaseModel): """Фильтр для ПВЗ""" code: str | None = Field(None, max_length=255, description="Код ПВЗ") type: Literal["PVZ", "POSTAMAT", "ALL"] = Field("ALL", description="Тип офиса") postal_code: str | None = Field( None, max_length=255, description="Почтовый индекс города, для которого необходим список офисов", ) city_code: int | None = Field( None, description='Код населенного пункта СДЭК (метод "Список населенных пунктов")', ) country_code: str | None = Field( None, max_length=2, description="Код страны в формате ISO_3166-1_alpha-2", ) region_code: int | None = Field(None, description="Код региона СДЭК") have_cashless: bool | None = Field(None, description="Наличие терминала оплаты") have_cash: bool | None = Field(None, description="Есть прием наличных") is_dressing_room: bool | None = Field(None, description="Наличие примерочной") weight_max: int | None = Field( None, gt=0, description="Максимальный вес в кг, который может принять офис" ) weight_min: int | None = Field( None, gt=0, description="Минимальный вес в кг, который может принять офис" ) lang: str = Field("rus", description="Локализация офиса") take_only: bool | None = Field( None, description="Является ли офис только пунктом выдачи" ) is_handout: bool | None = Field(None, description="Является пунктом выдачи") is_reception: bool | None = Field(None, description="Есть ли в офисе приём заказов") is_marketplace: bool | None = Field( None, description='Офис для доставки "До маркетплейса"' ) is_ltl: bool | None = Field( None, description="Работает ли офис с LTL (сборный груз)" ) fulfillment: bool | None = Field(None, description="Офис с зоной фулфилмента") fias_guid: UUID | None = Field(None, description="Код города ФИАС") size: int | None = Field( None, ge=0, description="Ограничение выборки результата (размер страницы)" ) page: int | None = Field( None, ge=0, description="Номер страницы выборки результата" )