from decimal import Decimal from unicodedata import decimal from numpy import datetime_as_string from pydantic import BaseModel from typing import Optional, List from datetime import date, datetime class AddObjectInit(BaseModel): IDCity: int IDStreet: int Number: Optional[str] class AdvancedSearchSerializer(BaseModel): IDPersonalAccount: int IDAddress: int RegionName: Optional[str] = None CityName: Optional[str] = None Address: Optional[str] = None AccountType: Optional[str] = None FullName: Optional[str] = None class SettingsSerializer(BaseModel): CurrentYear: int CurrentMonth: int CurrentMonthName: str class ServiceIDInit(BaseModel): IDService: int class UserInit(BaseModel): IDUser: int = 1 class AccountInit(BaseModel): IDAccount: int class CityInit(BaseModel): IDCity: int class AdvancedSearchInit(AccountInit, CityInit): LastName: Optional[str] = None FirstName: Optional[str] = None Patronymic: Optional[str] = None class WithdrawingCheckSerializer(BaseModel): IDGetType: int class RentRegisterNoticeInit(BaseModel): IDUser: int = 1 IDCashbox: int = 1 IsRepayment: bool DateBegin: date DateEnd: date class ObjectMeteringDeviceAddressInit(BaseModel): IDUser: int = 1 IDCashbox: int = 1 IDObject: int IDAddress: int class DateInit(BaseModel): DateBegin: date DateEnd: date class CashboxInit(UserInit): IDCashbox: int = 1 class PAInit(BaseModel): IDPersonalAccount: int class PersonalAccountInit(BaseModel): IDPersonalAccount: int class PAwUCInit(CashboxInit, PersonalAccountInit): pass class GetTypeInit(BaseModel): GetType: bool class PersonalAccountType(PersonalAccountInit, GetTypeInit): pass class PersonalAccount(BaseModel): IDPersonalAccount: int class ObjectInit(BaseModel): IDObject: str class TariffProviderInit(ObjectInit): IDTariffPopulation: int class ObjectMeteringDevicesTypesInit(GetTypeInit, ServiceIDInit, ObjectInit): pass class WithdrawingTempInit(CashboxInit, GetTypeInit): pass class WithdrawingCheckInit(PersonalAccountInit, GetTypeInit, DateInit): pass class AccrualsCanBeRecalculatedInit(BaseModel): IDPersonalAccount: int DateBegin: str DateEnd: str class WithdrawingSave(PersonalAccountInit, WithdrawingCheckSerializer, DateInit): IDWithdrawingType: int WitdrawingNumber: int IDProviderContract: int IDManagementCompany: int class RepaymentInfoInit(BaseModel): IDCashbox: int IDMoneyType: int class RepaymentInit(RepaymentInfoInit): IDRepaymentType: int RepaymentNumber: int RepaymentDate: date class RecieptCalculateInit(PersonalAccountInit): IDType: int Amount: float AmountFine: float class ReceiptSaveInit(BaseModel): IDUser: int IDCashbox: int IDType: int IDPersonalAccount: int IDDebtContract: int IDService: int DateBegin: date DateEnd: date IDMoneyType: int Amount: float AmountFine: float Note: Optional[str] = None class StronoInit(PersonalAccountInit): ReceiptNumber: Optional[str] class ArchiveInit(BaseModel): GetTypeName: Optional[str] GetAdditType: int IDAddress: int class EditTempMeteringDeviceAddressInit(BaseModel): IDUser: int IDCashbox: int IDAddress: int IsChecked: bool class PersonalAccountReportTOFinancialInit(PersonalAccountInit): Month: int vid: int IsAUP: bool class ServicesSerializer(BaseModel): ID: int Name: Optional[str] = None class MeteringDeviceTypeSerializer(BaseModel): ID: int Name: Optional[str] = None class PersonalAccountSerializer(BaseModel): IDAddress: int IDTenants: int = None IDWorker: Optional[int] = None Address: Optional[str] = None ObjectStreetName: Optional[str] = None ObjectNumber: Optional[str] = None ObjectCorp: Optional[str] = None ObjectType: Optional[str] = None AddressNumber: Optional[str] = None IDAccount: int FullName: Optional[str] = None class PersonalAccountDetailsSerializer(BaseModel): ID: int IDAddress: int IDTenants: int IDWorker: int LastName: Optional[str] = None FirstName: Optional[str] = None Patronymic: Optional[str] = None Note: Optional[str] = None PassportSerialNumber: Optional[str] = None PassportNumber: Optional[str] = None PassportIssueBy: Optional[str] = None PassportIssueDate: Optional[date] = None PassportRegistrationPlace: Optional[str] = None PassportRegistrationDate: Optional[date] = None class AddressesSerializer(BaseModel): IDAddress: int Address: Optional[str] = None class ObjectsSerializer(BaseModel): IDObject: str Address: Optional[str] = None StreetName: Optional[str] = None Number: Optional[str] = None Corp: Optional[str] = None class AddressPersonalAccounts(BaseModel): ID: int IDTenants: int IDWorker: int LastName: Optional[str] = None FirstName: Optional[str] = None Patronymic: Optional[str] = None class EditPersonalAccountAddressInit(BaseModel): IDAddress: int CadastralNumber: Optional[str] = None Privatization: bool Area: float AreaOwned: float AreaAdditional: float AreaAboveNormal: float RoomsNumber: int PeopleNumber: int PeopleWithoutReg: int PeopleAway: int PeopleDependents: int MeteringDeviceHeating: bool MeteringDeviceHotWater: bool MeteringDeviceColdWater: bool class AddressDetailInfoSerializer(BaseModel): IDAddress: int CadastralNumber: Optional[str] = None Privatization: float Area: float AreaOwned: float AreaAdditional: float AreaAboveNormal: float AreaAboveNormal2: float ODNPersent: float ODN: float ODNArea: float AddressAdditArea: float RoomsNumber: int PeopleNumber: int PeopleWithoutReg: int PeopleAway: int PeopleDependents: int MeteringDeviceHeating: bool MeteringDeviceHotWater: bool MeteringDeviceColdWater: bool IDFias: Optional[str] = None FloorNumber: int FullArea: float = None ObjectMeteringDeviceHeating: bool ObjectMeteringDeviceEl: bool ObjectMeteringDeviceGas: bool ObjectMeteringDeviceWater: bool ActAvailabilityMeteringDeviceInstallAddressWater: bool ActAvailabilityMeteringDeviceInstallObjectHeating: bool ActAvailabilityMeteringDeviceInstallObjectWater: bool StandartVolumeName: Optional[str] = None MCompanyName: Optional[str] = None BoilerName: Optional[str] = None DirectControl: Optional[str] = None ExecutorName: Optional[str] = None class AddressDetailsSerializer(BaseModel): ID: int IDObject: str IDType: int IDImprovementDegree: int CadastralNumber: Optional[str] = None Number: Optional[str] = None Privatization: bool Area: float AreaOwned: float AreaAboveNormal: float AreaAdditional: float RoomsNumber: int PeopleNumber: int PeopleWithoutReg: int PeopleAway: int PeopleDependents: int Glazing: bool IDSystemHotWater: int IDSystemHotWaterPeriodType: int IDSystemColdWater: int IDSystemColdWaterPeriodType: int IDSystemSewerage: int IDSystemSeweragePeriodType: int IDStandartVolume: int MeteringDeviceHeating: bool MeteringDeviceHotWater: bool MeteringDeviceColdWater: bool ActAvailabilityMeteringDeviceInstallIDType: int ActAvailabilityMeteringDeviceInstallHeating: bool ActAvailabilityMeteringDeviceInstallWater: bool class EditAdressInit(AddressDetailsSerializer): ActionType: Optional[str] = None class TurnOverSerializer(BaseModel): AmountSaldoBegin: float AmountAccrued: float AmountSubsidy: float AmountWithdrawing: float AmountActualAccrued: float AmountReceipt: float AmountSaldoCorrect: float AmountSaldoEnd: float AmountTotalWithFine: float class TOArchiveWithdrawingSerializer(BaseModel): id: int Number: int Name: Optional[str] = None Amount: Optional[str] = None class TOArchiveReceiptSerializer(BaseModel): id: int Number: int PaymentDate: datetime RepaymentDate: datetime DateBegin: date DateEnd: date IDMoneyType: int MoneyTypeName: Optional[str] = None Period: Optional[str] = None Amount: float AmountFine: float class ReportTOFinancialAccount(BaseModel): por: int ServiceName: Optional[str] = None ProviderName: Optional[str] = None DateBegin: date DateEnd: date StandartVolume: float TariffPopulation: float TariffProvider: float AmountSaldoBegin: float AmountTotalAccrued: float AmountAccruedSubsidy: float AmountAccrued: float AmountSubsidy: float AmountWithdrawing: float AmountActualAccrued: float AmountReceipt: float AmountSaldoCorrect: float AmountAccruedPreferential: float AmountSaldoEnd: float class MoneyTypesSerializer(BaseModel): ID: int Name: Optional[str] = None class WorkerTypesSerializer(BaseModel): ID: int Name: Optional[str] = None class PayerCategoryTypesSerializer(BaseModel): ID: int Name: Optional[str] = None class EditObjectServiceInit(BaseModel): ActionType: Optional[str] = None IDObject: str IDService: int IDCity: int IDProviderContractOld: int IDTariffPopulationOld: int IDProviderContract: int IDTariffPopulation: int class TariffsPopulationInit(BaseModel): IDObject: str IDService: int IDCity: int IDProvider: int class PersonalAccountTOServicesSerializer(BaseModel): Rank: int IDPersonalAccount: int IDService: int IDProviderContract: int ServiceName: Optional[str] = None ServiceSecondName: Optional[str] = None ProviderName: Optional[str] = None DateBegin: Optional[str] = None DateEnd: Optional[str] = None Spor: int Por: int IDTariffPopulation: int = None Tariff: float = None TariffProvider: float = None StandartVolume: float = None Volume: float AmountSaldo: float AmountAccrued: float AmountSubsity: float AmountWithdrawing: float AmountActualAccrued: float AmountReceipt: float AmountAccruedSubsidy: float AmountPrin: float AmountFine: float class AddressMeteringDevices(BaseModel): id: int IDMeteringDevice: int IDType: int IDObjectType: int SerialNumber: Optional[str] = None IDAddressAddit: int IDService: int ServiceName: Optional[str] = None MeteringDeviceTypeName: Optional[str] = None VerificationYearInterval: int VerificationDate: date DateEnd: date class ReceiptCalculatedSerializer(BaseModel): IDService: int ServiceName: Optional[str] = None Amount: float class RentRepaymentInfoSerializer(BaseModel): Name: Optional[str] = None class RentRepaymentSerializer(BaseModel): RepaymentNumber: int Type: Optional[str] = None Provider: Optional[str] = None Amount: float class FilterTypeSerializer(BaseModel): ID: int Name: Optional[str] = None IDParent: int = None OrderField: int class FilterListSerializer(BaseModel): ID: int Name: Optional[str] = None IsChecked: bool class ServicesAdditionalSerializer(BaseModel): ID: int Name: Optional[str] = None class RentRegisterNotices(BaseModel): CityName: Optional[str] = None Number: Optional[str] = None Address: Optional[str] = None AccountFullName: Optional[str] = None Amount: float AmountFine: float AmountTotal: float class PersonalAccountDebtSerilizer(BaseModel): ID: int DebtTypeName: Optional[str] = None DecisionNumber: Optional[str] = None DecisionDate: Optional[str] = None DecisionDateEnd: Optional[str] = None FullName: Optional[str] = None ExecutionNumberV: Optional[str] = None DecisionAmountSaldo: float DecisionAmountFine: float DecisionAmountStateDuty: float DecisionAmountReceipt: float DecisionAmountReceiptFine: float AmountReceipt: float AmountReceiptFine: float AmountReceiptStateDuty: float class PersonalAccountDebtsSerializer(BaseModel): ID: int IDType: int IDPersonalAccount: int IDCourt: int Number: Optional[str] = None DateBegin: date DateEnd: date LastName: Optional[str] = None FirstName: Optional[str] = None Patronymic: Optional[str] = None PassportSerialNumber: Optional[str] = None PassportNumber: Optional[str] = None PassportIssueBy: Optional[str] = None PassportIssueDate: date PassportBirthPlace: Optional[str] = None PassportBirthday: date AmountSaldo: float AmountFine: float AmountAccrued: float MonthNumber: int AmountReceipt: float DateOk: date Note: float DateP: date DateIns: date DateUv: date ContractTypeName: Optional[str] = None DateUv: date Decision: bool Execution: bool Amount: float AmountFine: float RepaymentDate: date CourtTypeName: Optional[str] = None CourtNote: Optional[str] = None Contract2Number: Optional[str] = None Contract2DateBegin: date class PersonalAccountsSerializer(BaseModel): ID: int class CommonTypeSerializer(BaseModel): ID: int Name: Optional[str] = None class ProviderTypeSerializer(BaseModel): ID: int Name: Optional[str] = None class ProviderContractSerializer(BaseModel): id: int Name: Optional[str] = None ProviderContractTypeName: Optional[str] = None OrganizationName: Optional[str] = None DateBegin: date DateEnd: date class ManagementCompanySerializer(BaseModel): ID: int Name: Optional[str] = None class WithdrawingTypesSerializer(BaseModel): ID: int Code: int Name: Optional[str] = None class WithdrawingTempSerializer(BaseModel): IDService: int ServiceName: Optional[str] = None Amount: float class AccrualsCanBeRecalculatedSerializer(BaseModel): id: int IDService: int ServiceName: Optional[str] = None Amount: float class ObjectDetailsSerializer(BaseModel): IDObject: str IDFias: Optional[str] = None IDBoiler: str IDOwnershipType: int IDProviderUtilityServices: int BuildDate: int FloorNumber: int Entrance: int CommissDate: date Volume: float FullArea: float IDBuildingType: Optional[str] = None IDOverlappingType: int IDWallMaterial: int IDRoofType: int IDFoundationType: int WithdrawingDate: date WithdrawingReason: Optional[str] = None IDSystemHotWater: int IDSystemHotWaterPeriodType: int IDSystemColdWater: int IDSystemColdWaterPeriodType: int IDSystemSewerage: int IDStandartVolume: int IDHeatingType: int IDGasType: int IDWiringType: int IDImprovementDegree: int Amount: float Deterioration: float AreaRoof: float AreaFoundation: float AreaFacade: float AreaPlub: float AreaAttic: float AreaTechnicalFloor: float AreaBuilding: float AreaLk: float AreaYardArea: float AreaBoiler: float ActAvailabilityCounterInstallObjectHeating: int ActAvailabilityCounterInstallObjectWater: int DirectControl: bool class ObjectMunicipalsSerializer(BaseModel): ID: int Name: Optional[str] = None class ObjectServicesSerializer(BaseModel): id: int IDService: int IDProviderContract: int ServiceName: Optional[str] = None por: int ProviderName: Optional[str] = None DateBegin: date DateEnd: date IDTariffPopulation: int TariffPopAmount: float TariffProvAmount: float class ObjectAddressesSerializer(BaseModel): id: int IDObject: str IDAddressType: int AddressTypeName: Optional[str] = None Number: Optional[str] = None FullArea: float OwnedArea: float PeopleNumber: int RoomsNumber: int class MeteringDeviceInit(BaseModel): ActionType: Optional[str] = None IDUser: int ID: int IDService: int IDType: int IDCity: int IDObjectType: int IDObject: str IDAddress: int IDAddressAddit: int IDService: int SerialNumber: Optional[str] = None VerificationDate: date VerificationYearInterval: int class ObjectMeteringDevicesSerializer(BaseModel): ID: int IDService: int IDType: int IDObjectType: int IDAddressAddit: int IDService: int ServiceName: Optional[str] = None MeteringDeviceTypeName: Optional[str] = None SerialNumber: Optional[str] = None VerificationDate: date DateEnd: date AddressDeviceNumber: int VerificationYearInterval: int class ObjectMeteringDeviceAddressesSerializer(BaseModel): IDAddress: int Number: Optional[str] = None IsChecked: bool ix: int class SystemWater(BaseModel): ID: int IDServiceType: int IDPeriodType: int Name: Optional[str] = None class SystemWaterPeriodType(BaseModel): ID: int Name: Optional[str] = None class OwnershipType(BaseModel): ID: int Name: Optional[str] = None class CommonTypeUUIDSerializer(BaseModel): ID: str Name: Optional[str] = None class ImprovementDegreeSerializer(BaseModel): ID: int Name: Optional[str] = None IDHotWater: Optional[int] = None IDColdWater: Optional[int] = None IDSewerage: Optional[int] = None class ObjectWaterSystemVolumesInit(BaseModel): IDHotWater: int IDColdWater: int IDSewerage: int class TariffPopulationSerializer(BaseModel): ID: int IDService: int IDCity: int Name: Optional[str] = None Amount: float class TariffProviderSerializer(BaseModel): ID: int IDType: int Name: Optional[str] = None ProviderTypeName: Optional[str] = None class ProviderUtilityService(BaseModel): ID: int IDCity: int FullName: str ShortName: Optional[str] = None INN: str KPP: str FIO: Optional[str] = None PhoneNumber: Optional[str] = None ADS: Optional[str] = None Email: Optional[str] = None BankName: Optional[str] = None CheckingAccount: str CorrectAccount: str BIK: str WorkTime: Optional[str] = None