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 from sqlalchemy import SmallInteger, null 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: str DateEnd: str 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): IDUser: int DateBegin: str DateEnd: str class WithdrawingSave(PersonalAccountInit, WithdrawingCheckSerializer, DateInit): IDWithdrawingType: int WitdrawingNumber: int IDProviderContract: int IDManagementCompany: int class RecalculationSave(BaseModel): IDUser: int IDService: int = None IDType: int IDRecalculationCode: int = None Percent: float = None OldValue: str = None NewValue: str = None DateBegin: str DateEnd: str class RepaymentInfoInit(BaseModel): IDCashbox: int IDMoneyType: int class RepaymentInit(BaseModel): IDCashbox: int IDRepaymentType: int RepaymentNumber: int RepaymentDate: str IDMoneyType: int class RecieptCalculateInit(PersonalAccountInit): IDType: int Amount: float AmountFine: float class ReceiptSaveInit(BaseModel): IDUser: int IDCashbox: int IDType: int IDPersonalAccount: int IDDebtContract: int = None IDService: int = None DateBegin: str DateEnd: str 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 PersonalAccountDetailsInit(BaseModel): ActionType: Optional[str] = None ID: int = None IDAddress: int = None IDTenants: int = None IDWorker: int = None 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: Optional[str] = None PassportRegistrationPlace: Optional[str] = None PassportRegistrationDate: Optional[str] = None Note: 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 = None IDImprovementDegree: int = None CadastralNumber: Optional[str] = None Number: Optional[str] = None Privatization: float = None Area: float = None AreaOwned: float = None AreaAboveNormal: float = None AreaAdditional: float = None RoomsNumber: int = None PeopleNumber: int = None PeopleWithoutReg: int = None PeopleAway: int = None PeopleDependents: int = None Glazing: bool = None IDSystemHotWater: int = None IDSystemHotWaterPeriodType: int = None IDSystemColdWater: int = None IDSystemColdWaterPeriodType: int = None IDSystemSewerage: int = None IDSystemSeweragePeriodType: int = None IDStandartVolume: int = None MeteringDeviceHeating: bool = None MeteringDeviceHotWater: bool = None MeteringDeviceColdWater: bool = None ActAvailabilityMeteringDeviceInstallIDType: bool = None ActAvailabilityMeteringDeviceInstallHeating: bool = None ActAvailabilityMeteringDeviceInstallWater: bool = None 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 = None ServiceName: Optional[str] = None ProviderName: Optional[str] = None DateBegin: str = None DateEnd: str = None StandartVolume: float = None TariffPopulation: float = None TariffProvider: float = None AmountSaldoBegin: float = None AmountTotalAccrued: float = None AmountAccruedSubsidy: float = None AmountAccrued: float = None AmountSubsidy: float = None AmountWithdrawing: float = None AmountActualAccrued: float = None AmountReceipt: float = None AmountSaldoCorrect: float = None AmountAccruedPreferential: float = None AmountSaldoEnd: float = None 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 ReceiptSaveSerializer(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: str 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 = None AmountFine: float = None AmountTotal: float = None 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 Volume: float Amount: float class ObjectEditInit(BaseModel): IDObject: str = None IDCIty: int = None IDFias: Optional[str] = None IDBoiler: str = None IDOwnershipType: int = None IDProviderUtilityServices: int = None BuildDate: int = None FloorNumber: int = None Entrance: int = None CommissDate: int = None Volume: float = None FullArea: float = None IDBuildingType: Optional[str] = None IDOverlappingType: int = None IDWallMaterial: int = None IDRoofType: int = None IDFoundationType: int = None WithdrawingDate: Optional[str] = None WithdrawingReason: Optional[str] = None IDSystemHotWater: int = None IDSystemHotWaterPeriodType: int = None IDSystemColdWater: int = None IDSystemColdWaterPeriodType: int = None IDSystemSewerage: int = None IDStandartVolume: int = None IDHeatingType: int = None IDGasType: int = None IDWiringType: int = None IDImprovementDegree: int = None Amount: float = None Deterioration: float = None AreaRoof: float = None AreaFoundation: float = None AreaFacade: float = None AreaPlub: float = None AreaAttic: float = None AreaTechnicalFloor: float = None AreaBuilding: float = None AreaLk: float = None AreaYardArea: float = None AreaBoiler: float = None ActAvailabilityCounterInstallObjectHeating: int = None ActAvailabilityCounterInstallObjectWater: int = None DirectControl: bool = None class ObjectDetailsSerializer(BaseModel): IDObject: str = None IDCIty: int = None IDFias: Optional[str] = None IDBoiler: str = None IDOwnershipType: int = None IDProviderUtilityServices: int = None BuildDate: int = None FloorNumber: int = None Entrance: int = None CommissDate: int = None Volume: float = None FullArea: float = None IDBuildingType: Optional[str] = None IDOverlappingType: int = None IDWallMaterial: int = None IDRoofType: int = None IDFoundationType: int = None WithdrawingDate: date = None WithdrawingReason: Optional[str] = None IDSystemHotWater: int = None IDSystemHotWaterPeriodType: int = None IDSystemColdWater: int = None IDSystemColdWaterPeriodType: int = None IDSystemSewerage: int = None IDStandartVolume: int = None IDHeatingType: int = None IDGasType: int = None IDWiringType: int = None IDImprovementDegree: int = None Amount: float = None Deterioration: float = None AreaRoof: float = None AreaFoundation: float = None AreaFacade: float = None AreaPlub: float = None AreaAttic: float = None AreaTechnicalFloor: float = None AreaBuilding: float = None AreaLk: float = None AreaYardArea: float = None AreaBoiler: float = None ActAvailabilityCounterInstallObjectHeating: int = None ActAvailabilityCounterInstallObjectWater: int = None DirectControl: bool = None class ObjectMunicipalsSerializer(BaseModel): ID: int Name: Optional[str] = None class ObjectServicesSerializer(BaseModel): id: int IDService: int IDProviderContract: int = None ServiceName: Optional[str] = None por: int = None ProviderName: Optional[str] = None DateBegin: date = None DateEnd: date = None IDTariffPopulation: int = None TariffPopAmount: float = None TariffProvAmount: float = None 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): IDPeriodTypeHotWater: int IDPeriodTypeColdWater: int IDPeriodTypeSewerage: 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 class ReportTOFinancialAccountInit(BaseModel): IDUser: int IDCashbox: int IDPersonalAccount: int Month: int vid: bool IsAUP: bool