Исходный код cdek.apps.models.contact
from __future__ import annotations
from datetime import date as Date
from enum import Enum
from pydantic import BaseModel, Field, field_serializer
from .phone import Phone
[документация]
class ContragentType(str, Enum):
LEGAL_ENTITY = "LEGAL_ENTITY"
INDIVIDUAL = "INDIVIDUAL"
[документация]
class Tin(BaseModel):
tin: str | None = Field(None, max_length=255, description="ИНН")
[документация]
class Passport(BaseModel):
passport_series: str | None = Field(
None, max_length=255, description="Серия паспорта"
)
passport_number: str | None = Field(
None, max_length=255, description="Номер паспорта"
)
passport_date_of_issue: Date | None = Field(
None, description="Дата выдачи паспорта"
)
passport_organization: str | None = Field(
None, max_length=255, description="Организация выдавшая паспорт"
)
passport_date_of_birth: Date | None = Field(None, description="Дата рождения")
[документация]
@field_serializer("passport_date_of_issue")
def serialize_passport_date_of_issue(self, passport_date_of_issue: Date) -> str:
"""Вернуть дату выдачи паспорта в формате YYYY-MM-DD"""
return passport_date_of_issue.strftime("%Y-%m-%d")
[документация]
@field_serializer("passport_date_of_birth")
def serialize_passport_date_of_birth(self, passport_date_of_birth: Date) -> str:
"""Вернуть дату рождения в формате YYYY-MM-DD"""
return passport_date_of_birth.strftime("%Y-%m-%d")