@alisdigital/types-library
Version:
TypeScript type definitions for Papilet ecosystem with session soft delete and event management features
120 lines (119 loc) • 2.98 kB
TypeScript
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<IAnnouncement> {
}
export interface IAnnouncementResponse extends IListResponse {
announcements: Array<IAnnouncement>;
}
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;
}