{/* Year Selector */}
{/* Calendar View */}
{/* Days with holidays highlighted */}
{/* List View */}
{/* Actions */}
```
---
## ๐ Default Configurations
### **Pre-seeded in database:**
| Config Key | Value | Category | Description |
|------------|-------|----------|-------------|
| `DEFAULT_TAT_EXPRESS_HOURS` | 24 | TAT_SETTINGS | Default TAT for express |
| `DEFAULT_TAT_STANDARD_HOURS` | 48 | TAT_SETTINGS | Default TAT for standard |
| `TAT_REMINDER_THRESHOLD_1` | 50 | TAT_SETTINGS | First reminder at 50% |
| `TAT_REMINDER_THRESHOLD_2` | 75 | TAT_SETTINGS | Second reminder at 75% |
| `WORK_START_HOUR` | 9 | TAT_SETTINGS | Work day starts at 9 AM |
| `WORK_END_HOUR` | 18 | TAT_SETTINGS | Work day ends at 6 PM |
| `MAX_FILE_SIZE_MB` | 10 | DOCUMENT_POLICY | Max upload size |
| `ALLOWED_FILE_TYPES` | pdf,doc,... | DOCUMENT_POLICY | Allowed extensions |
| `DOCUMENT_RETENTION_DAYS` | 365 | DOCUMENT_POLICY | Retention period |
| `AI_REMARK_GENERATION_ENABLED` | true | AI_CONFIGURATION | Enable AI remarks |
| `AI_REMARK_MAX_CHARACTERS` | 500 | AI_CONFIGURATION | Max AI text length |
---
## ๐ Quick Start
### **Step 1: Run Migrations**
```bash
cd Re_Backend
npm run migrate
```
**You'll see:**
```
โ
Holidays table created successfully
โ
Admin configurations table created and seeded
```
### **Step 2: Import Indian Holidays (Optional)**
Create a script or use the API:
```bash
# Using curl (requires admin token):
curl -X POST http://localhost:5000/api/admin/holidays/bulk-import \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
-d @data/indian_holidays_2025.json
```
### **Step 3: Verify Holidays Loaded**
```sql
SELECT COUNT(*) FROM holidays WHERE is_active = true;
-- Should return 14 (or however many you imported)
```
### **Step 4: Restart Backend**
```bash
npm run dev
```
**You'll see:**
```
๐
Holiday calendar loaded for TAT calculations
Loaded 14 holidays into cache
```
---
## ๐งช Testing
### **Test 1: Create Holiday**
```bash
POST /api/admin/holidays
{
"holidayDate": "2025-12-31",
"holidayName": "New Year's Eve",
"description": "Last day of the year",
"holidayType": "ORGANIZATIONAL"
}
```
### **Test 2: Verify Holiday Affects TAT**
```bash
# 1. Create STANDARD priority request on Dec 30
# 2. Set TAT: 16 hours (2 working days)
# 3. Expected due: Jan 2 (skips Dec 31 holiday + weekend)
# 4. Actual due should be: Jan 2
```
### **Test 3: Verify EXPRESS Not Affected**
```bash
# 1. Create EXPRESS priority request on Dec 30
# 2. Set TAT: 48 hours
# 3. Expected due: Jan 1 (exactly 48 hours, includes holiday)
```
---
## ๐ Admin Configuration UI (To Be Built)
### **Admin Settings Page:**
```tsx