-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
60 lines (56 loc) · 1.34 KB
/
Copy pathtypes.ts
File metadata and controls
60 lines (56 loc) · 1.34 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
export interface Asset {
id: string;
name: string;
type: string;
description: string;
color: string; // Hex code for UI identification
is_maintenance: boolean;
icon?: string; // Icon name from lucide-react
sortOrder?: number;
showKiosk?: boolean;
hasCatering?: boolean;
costCenterRequired?: boolean;
cateringOptions?: string[];
doorExtensionOffered?: boolean;
}
export interface Booking {
id: string;
assetId: string;
title: string;
startTime: string; // ISO string
endTime: string; // ISO string
userName: string;
userEmail: string;
department?: string;
costCenter?: string;
createdAt: string;
catering?: Record<string, number>;
doorOpening?: boolean;
}
export interface AppConfig {
headerText: string;
siteTitle?: string;
accentColor?: string;
categoryIcons?: Record<string, string>; // Mapping type -> icon name
placeholderTitle?: string;
placeholderName?: string;
placeholderEmail?: string;
placeholderDepartment?: string;
mailEnabled?: boolean;
mailHost?: string;
mailPort?: number;
mailUser?: string;
mailPass?: string;
mailFrom?: string;
mailSecure?: boolean;
doorExtensionEnabled?: boolean;
doorExtensionMail?: string;
}
export interface AdminState {
isAuthenticated: boolean;
}
export enum AssetStatus {
FREE = 'FREE',
OCCUPIED = 'OCCUPIED',
MAINTENANCE = 'MAINTENANCE',
}