import { IListResponse } from "./base.response"; import { IMetadata } from "./dashboard.response"; import { Institution, IProperty } from "./property.response"; import { IUser } from "./user.response"; export interface INotificationsResponse { data: (INotificationRent | INotificationContract | INotificationPayment | INotificationTransfer | INotificationBuild)[]; } export interface INotificationRent { tenant: INotificationRentTenant; property: INotificationRentProperty; contract: INotificationRentContract; } export interface INotificationRentContract { id: string; paidDate: string; rentPrice: number; } export interface INotificationRentProperty { id: string; title: string; } export interface INotificationRentTenant { id: string; name: string; } export interface INotificationContract { id: string; propertyId: string; tenantId: string; startDate: string; endDate: string; rentPeriod: number; paidDay: number; rentPrice: string; isCurrent: boolean; createdAt: string; updatedAt: string; User: IUser; Property: INotificationProperty; } export interface INotificationPayment { id: string; propertyId: string; userId: string; amount: string; type: string; status: string; reqAt: string; paidAt: null; referanceId: null; isActive: boolean; createdAt: string; updatedAt: string; user: IUser; property: INotificationProperty; } export interface INotificationTransfer { id: string; referance: string; description: string; amount: string; senderIdentityNumber: string; date: string; isUsed: boolean; logs: string; createdAt: string; updatedAt: string; } export interface INotificationProperty { id: string; title: string; address: string; city: string; district: string; neighborhood: string; isRented: boolean; propertyNumber: string; serviceFeeRate: string; buildingManagerId: string; consultantId: string; metadata: IMetadata; isActive: boolean; createdAt: string; updatedAt: string; } export interface IDashboardAnnouncementResponse extends Array { } export interface IAnnouncementResponse extends IListResponse { announcements: Array; } export interface IAnnouncement { id: string; title: string; description: string; startDate: string; endDate: string; type: string; isActive: boolean; createdAt: string; updatedAt: string; } export interface INotificationBuild { id: string; propertyId: string; propertyTenantId: string; institutionId: string; paytoTransfer: boolean; typeId: string; amount: string; description: string; paidAt: string; receiptImageId: string; isActive: boolean; createdAt: string; updatedAt: string; Institution: Institution; Property: IProperty; PropertyTenant: IUser; }