-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
64 lines (58 loc) · 1.14 KB
/
types.ts
File metadata and controls
64 lines (58 loc) · 1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
export interface Area {
id: string;
name: string;
color: string;
}
export interface Town {
id: string;
areaId: string;
name: string;
slug: string;
createdAt: string;
active: boolean;
notes?: string;
}
export enum MemberStatus {
Active = 'Active',
Suspended = 'Suspended',
Disconnected = 'Disconnected',
}
export interface Member {
id: string;
townId: string;
sno: number;
name: string;
contactNo: string;
idCardNumber?: string;
packageMbps: number;
billAmount: number;
previousPending: number;
totalDue: number;
received: number;
balance: number;
status: MemberStatus;
joinDate: string;
lastPaymentDate?: string;
address?: string;
notes?: string;
}
export interface LedgerEntry {
id: string;
memberId: string;
date: string;
type: 'Bill' | 'Payment' | 'Adjustment';
amount: number;
method?: 'Cash' | 'Online' | 'Bank Transfer';
reference?: string;
notes?: string;
}
export interface ImportPreviewData {
townName: string;
members: Partial<Member>[];
}
export interface DashboardStats {
totalTowns: number;
totalMembers: number;
totalOutstanding: number;
monthlyBilling: number;
}