VoiceNotes is an Arduino sketch for the Waveshare ESP32-C6-LCD-0.85 that records meetings and voice memos to microSD and turns them into notes: - Records 16 kHz mono WAV (up to 4 h) from the ES7210 dual mics, with a boosted preamp and soft-limited digital gain - Transcribes via an OpenAI-compatible speech-to-text API in ~10 min parts cut at quiet points, with retries and resume after failures - Summarizes the transcript with Claude into meeting notes (decisions, action items, topics with timestamps), streamed to and from the card - Copies the notes to Nextcloud over WebDAV - Shows recording/processing state on the 0.85" LCD and the LED ring - Works around the board's SD card failing multi-sector reads Credentials live in VoiceNotes/secrets.h, which is git-ignored; see secrets.example.h. Also adds the Microsoft CDM customer service SQL implementation (DDL, sample data, reporting queries and docs). Its README is renamed to CDM_README.md so the repository README stays at the top level. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
530 lines
10 KiB
Markdown
530 lines
10 KiB
Markdown
# CDM Customer Service - Reporting Procedures Summary
|
|
|
|
## ✅ Installation Complete
|
|
|
|
All reporting views and procedures have been successfully added to your `CDM_CustomerService` database.
|
|
|
|
---
|
|
|
|
## 📊 Available Views (4 Total)
|
|
|
|
### 1. v_ExecutiveDashboard
|
|
**Purpose:** Key performance metrics at a glance
|
|
|
|
**Returns:**
|
|
- Active cases count
|
|
- Resolved cases count
|
|
- Closed cases count
|
|
- Total customers count
|
|
- Active contracts count
|
|
- Total active contract value
|
|
- Affected contacts count
|
|
- Average days to close
|
|
|
|
**Usage:**
|
|
```sql
|
|
SELECT * FROM cdm.v_ExecutiveDashboard;
|
|
```
|
|
|
|
---
|
|
|
|
### 2. v_CasePerformanceMetrics
|
|
**Purpose:** Detailed case health and performance tracking
|
|
|
|
**Returns:**
|
|
- Case ID, number, title, priority, status
|
|
- Associated account name
|
|
- Case owner name
|
|
- Days case has been open
|
|
- Hours to resolution
|
|
- Service duration
|
|
- Status health (Complete, Overdue, On Track, Awaiting Close)
|
|
|
|
**Usage:**
|
|
```sql
|
|
SELECT * FROM cdm.v_CasePerformanceMetrics
|
|
WHERE statusHealth = 'Overdue';
|
|
```
|
|
|
|
---
|
|
|
|
### 3. v_AgentPerformance
|
|
**Purpose:** Support team performance metrics
|
|
|
|
**Returns:**
|
|
- Agent name
|
|
- Total cases owned
|
|
- Active cases count
|
|
- Closed cases count
|
|
- Average hours to resolution
|
|
- Critical cases count
|
|
- High priority cases count
|
|
|
|
**Usage:**
|
|
```sql
|
|
SELECT * FROM cdm.v_AgentPerformance
|
|
ORDER BY closedCases DESC;
|
|
```
|
|
|
|
---
|
|
|
|
### 4. v_ContractUtilizationDashboard
|
|
**Purpose:** Track contract usage and expiration
|
|
|
|
**Returns:**
|
|
- Contract number and name
|
|
- Account name
|
|
- Contract duration in days
|
|
- Days remaining
|
|
- Total units included/used
|
|
- Utilization percentage
|
|
- Contract value
|
|
- Utilization status (NORMAL, APPROACHING LIMIT, EXCEEDED)
|
|
|
|
**Usage:**
|
|
```sql
|
|
SELECT * FROM cdm.v_ContractUtilizationDashboard
|
|
WHERE utilizationStatus != 'NORMAL';
|
|
```
|
|
|
|
---
|
|
|
|
## 🔍 Analytics Procedures (8 Total)
|
|
|
|
### sp_CaseVolumeByPriority
|
|
**Purpose:** Case distribution and resolution time by priority
|
|
|
|
**Parameters:**
|
|
- `@Days INT` (default: 90) - Number of days to analyze
|
|
|
|
**Usage:**
|
|
```sql
|
|
EXEC sp_CaseVolumeByPriority @Days = 90;
|
|
```
|
|
|
|
**Returns:**
|
|
- Priority level
|
|
- Case count
|
|
- Percentage of total
|
|
- Average hours to resolution
|
|
|
|
**Sample Results:**
|
|
```
|
|
High 2 50.00% 0 hours
|
|
Medium 1 25.00% 0 hours
|
|
Low 1 25.00% 0 hours
|
|
```
|
|
|
|
---
|
|
|
|
### sp_CustomerSatisfactionAnalysis
|
|
**Purpose:** Customer service metrics and satisfaction tracking
|
|
|
|
**Parameters:**
|
|
- `@Months INT` (default: 6) - Number of months to analyze
|
|
|
|
**Usage:**
|
|
```sql
|
|
EXEC sp_CustomerSatisfactionAnalysis @Months = 6;
|
|
```
|
|
|
|
**Returns:**
|
|
- Account ID and name
|
|
- Total cases
|
|
- Closed cases count
|
|
- Closure rate (%)
|
|
- Average days open
|
|
- Unique contacts count
|
|
- Critical cases count
|
|
|
|
**Sample Results:**
|
|
```
|
|
Acme Corporation 2 cases 0% closed 0 days avg 1 critical
|
|
TechVision Inc 1 case 0% closed 0 days avg 0 critical
|
|
Global Services Ltd 1 case 0% closed 0 days avg 0 critical
|
|
```
|
|
|
|
---
|
|
|
|
### sp_SLAComplianceReport
|
|
**Purpose:** Real-time SLA compliance tracking
|
|
|
|
**Usage:**
|
|
```sql
|
|
EXEC sp_SLAComplianceReport;
|
|
```
|
|
|
|
**Returns:**
|
|
- Case number and title
|
|
- SLA KPI name (e.g., Response Time, Resolution Time)
|
|
- Metric value
|
|
- Target value
|
|
- Compliance status (COMPLIANT, WARNING, CRITICAL)
|
|
- Variance percentage
|
|
- Associated account
|
|
- Case owner
|
|
|
|
**Sample Results:**
|
|
```
|
|
CSE-2024-0001 System Login Issues First Response Time 30 min 60 min COMPLIANT -50%
|
|
CSE-2024-0001 System Login Issues Resolution Time 480 min 1440 min COMPLIANT -66%
|
|
CSE-2024-0002 Database Performance First Response Time 45 min 60 min COMPLIANT -25%
|
|
CSE-2024-0003 Software Installation First Response Time 120 min 120 min COMPLIANT 0%
|
|
```
|
|
|
|
---
|
|
|
|
### sp_ServiceActivitySchedule
|
|
**Purpose:** View upcoming scheduled service activities
|
|
|
|
**Parameters:**
|
|
- `@Days INT` (default: 7) - Number of days to look ahead
|
|
|
|
**Usage:**
|
|
```sql
|
|
EXEC sp_ServiceActivitySchedule @Days = 7;
|
|
```
|
|
|
|
**Returns:**
|
|
- Activity ID and subject
|
|
- Service name
|
|
- Associated case number
|
|
- Account name
|
|
- Assigned technician
|
|
- Schedule date and time
|
|
- Duration (minutes)
|
|
- Location
|
|
- Status
|
|
|
|
---
|
|
|
|
### sp_MonthlyActivityReport
|
|
**Purpose:** Monthly summary of operations
|
|
|
|
**Parameters:**
|
|
- `@Year INT` - Year (e.g., 2026)
|
|
- `@Month INT` - Month (1-12)
|
|
|
|
**Usage:**
|
|
```sql
|
|
EXEC sp_MonthlyActivityReport @Year = 2024, @Month = 9;
|
|
```
|
|
|
|
**Returns:**
|
|
- Report month
|
|
- New cases created
|
|
- Cases closed
|
|
- Service activities completed
|
|
- Tasks created
|
|
- Tasks completed
|
|
- Active contracts
|
|
|
|
---
|
|
|
|
### sp_CustomerRevenueAnalysis
|
|
**Purpose:** Revenue metrics per customer
|
|
|
|
**Usage:**
|
|
```sql
|
|
EXEC sp_CustomerRevenueAnalysis;
|
|
```
|
|
|
|
**Returns:**
|
|
- Top 20 customers by revenue
|
|
- Number of active contracts
|
|
- Total contract value
|
|
- Average contract value
|
|
- Active contracts count
|
|
- Total cases
|
|
- Closed cases count
|
|
|
|
---
|
|
|
|
### sp_ResourceUtilizationReport
|
|
**Purpose:** Technician/resource capacity analysis
|
|
|
|
**Parameters:**
|
|
- `@Days INT` (default: 30) - Number of days to analyze
|
|
|
|
**Usage:**
|
|
```sql
|
|
EXEC sp_ResourceUtilizationReport @Days = 30;
|
|
```
|
|
|
|
**Returns:**
|
|
- Resource name and type
|
|
- Scheduled activities count
|
|
- Total minutes scheduled
|
|
- Average activity duration
|
|
- Completed activities count
|
|
- In-progress activities count
|
|
- Future scheduled activities count
|
|
|
|
---
|
|
|
|
### sp_KnowledgeArticleEffectiveness
|
|
**Purpose:** Track KB article usage and effectiveness
|
|
|
|
**Usage:**
|
|
```sql
|
|
EXEC sp_KnowledgeArticleEffectiveness;
|
|
```
|
|
|
|
**Returns:**
|
|
- Top 20 articles by view count
|
|
- Article title and category
|
|
- View count
|
|
- Cases linked to article
|
|
- Cases helped resolve
|
|
- Resolution rate (%)
|
|
- Published date
|
|
|
|
---
|
|
|
|
## ⚙️ Administrative Procedures (5 Total)
|
|
|
|
### sp_CloseResolvedCases
|
|
**Purpose:** Auto-close cases that have been resolved for specified time
|
|
|
|
**Parameters:**
|
|
- `@DaysOld INT` (default: 7) - Days since resolution before auto-closing
|
|
|
|
**Usage:**
|
|
```sql
|
|
EXEC sp_CloseResolvedCases @DaysOld = 7;
|
|
```
|
|
|
|
**Returns:**
|
|
- Message confirming number of cases closed
|
|
|
|
---
|
|
|
|
### sp_ArchiveOldCases
|
|
**Purpose:** Archive historical cases to reduce active data
|
|
|
|
**Parameters:**
|
|
- `@YearsOld INT` (default: 2) - Archive cases older than this many years
|
|
|
|
**Usage:**
|
|
```sql
|
|
EXEC sp_ArchiveOldCases @YearsOld = 2;
|
|
```
|
|
|
|
**Returns:**
|
|
- Message confirming number of cases archived
|
|
|
|
---
|
|
|
|
### sp_DeactivateExpiredContracts
|
|
**Purpose:** Mark expired contracts as inactive
|
|
|
|
**Usage:**
|
|
```sql
|
|
EXEC sp_DeactivateExpiredContracts;
|
|
```
|
|
|
|
**Returns:**
|
|
- Message confirming number of contracts expired
|
|
|
|
---
|
|
|
|
### sp_UpdateEntitlementStatus
|
|
**Purpose:** Mark expired entitlements as inactive
|
|
|
|
**Usage:**
|
|
```sql
|
|
EXEC sp_UpdateEntitlementStatus;
|
|
```
|
|
|
|
**Returns:**
|
|
- Message confirming number of entitlements expired
|
|
|
|
---
|
|
|
|
### sp_ContractRenewalAlerts
|
|
**Purpose:** Identify contracts coming up for renewal
|
|
|
|
**Parameters:**
|
|
- `@DaysUntilExpiry INT` (default: 30) - Days until expiration threshold
|
|
|
|
**Usage:**
|
|
```sql
|
|
EXEC sp_ContractRenewalAlerts @DaysUntilExpiry = 30;
|
|
```
|
|
|
|
**Returns:**
|
|
- Contract number and name
|
|
- Account name
|
|
- End date
|
|
- Days until expiry
|
|
- Contract value
|
|
- Contract owner and email
|
|
|
|
---
|
|
|
|
## 🔍 Data Quality Procedures (2 Total)
|
|
|
|
### sp_CasesWithMissingData
|
|
**Purpose:** Identify data quality issues in cases
|
|
|
|
**Usage:**
|
|
```sql
|
|
EXEC sp_CasesWithMissingData;
|
|
```
|
|
|
|
**Returns:**
|
|
- Data quality issue description
|
|
- Count of cases with that issue
|
|
|
|
**Issues Checked:**
|
|
- Missing Account
|
|
- Missing Owner
|
|
- Missing Contact (High Priority cases)
|
|
|
|
---
|
|
|
|
### sp_FindOrphanedRecords
|
|
**Purpose:** Find orphaned records that reference missing parent entities
|
|
|
|
**Usage:**
|
|
```sql
|
|
EXEC sp_FindOrphanedRecords;
|
|
```
|
|
|
|
**Returns:**
|
|
- Record type (ServiceActivity, Task, ContractLine, etc.)
|
|
- Count of orphaned records
|
|
|
|
---
|
|
|
|
## 🚀 Quick Start Examples
|
|
|
|
### Daily Operations Dashboard
|
|
```sql
|
|
-- Get executive metrics
|
|
SELECT * FROM cdm.v_ExecutiveDashboard;
|
|
|
|
-- View overdue cases
|
|
SELECT * FROM cdm.v_CasePerformanceMetrics
|
|
WHERE statusHealth = 'Overdue';
|
|
|
|
-- Check SLA compliance
|
|
EXEC sp_SLAComplianceReport;
|
|
|
|
-- View today's schedule
|
|
EXEC sp_ServiceActivitySchedule @Days = 1;
|
|
```
|
|
|
|
### Weekly Reports
|
|
```sql
|
|
-- Agent performance review
|
|
SELECT * FROM cdm.v_AgentPerformance
|
|
ORDER BY closedCases DESC;
|
|
|
|
-- Case volume by priority
|
|
EXEC sp_CaseVolumeByPriority @Days = 7;
|
|
|
|
-- Contract utilization
|
|
SELECT * FROM cdm.v_ContractUtilizationDashboard;
|
|
|
|
-- Data quality check
|
|
EXEC sp_CasesWithMissingData;
|
|
```
|
|
|
|
### Monthly Operations
|
|
```sql
|
|
-- Monthly activity summary
|
|
EXEC sp_MonthlyActivityReport @Year = 2026, @Month = 9;
|
|
|
|
-- Customer satisfaction analysis
|
|
EXEC sp_CustomerSatisfactionAnalysis @Months = 1;
|
|
|
|
-- Customer revenue analysis
|
|
EXEC sp_CustomerRevenueAnalysis;
|
|
|
|
-- Resource utilization
|
|
EXEC sp_ResourceUtilizationReport @Days = 30;
|
|
|
|
-- Knowledge base effectiveness
|
|
EXEC sp_KnowledgeArticleEffectiveness;
|
|
```
|
|
|
|
### Maintenance Tasks
|
|
```sql
|
|
-- Close old resolved cases
|
|
EXEC sp_CloseResolvedCases @DaysOld = 7;
|
|
|
|
-- Archive old cases (annually)
|
|
EXEC sp_ArchiveOldCases @YearsOld = 2;
|
|
|
|
-- Update contract status
|
|
EXEC sp_DeactivateExpiredContracts;
|
|
|
|
-- Update entitlements
|
|
EXEC sp_UpdateEntitlementStatus;
|
|
|
|
-- Check for renewals (quarterly)
|
|
EXEC sp_ContractRenewalAlerts @DaysUntilExpiry = 90;
|
|
```
|
|
|
|
---
|
|
|
|
## 📋 Summary
|
|
|
|
**Total Reporting Objects Installed:**
|
|
- **Views:** 4
|
|
- **Analytics Procedures:** 8
|
|
- **Administrative Procedures:** 5
|
|
- **Data Quality Procedures:** 2
|
|
- **Total:** 19 objects
|
|
|
|
**Database:** CDM_CustomerService
|
|
**Schema:** cdm
|
|
**Status:** ✅ Production Ready
|
|
|
|
---
|
|
|
|
## 🔧 Maintenance Schedule
|
|
|
|
### Daily
|
|
- Check SLA Compliance: `EXEC sp_SLAComplianceReport;`
|
|
- View scheduled activities: `EXEC sp_ServiceActivitySchedule;`
|
|
|
|
### Weekly
|
|
- Agent performance: `SELECT * FROM cdm.v_AgentPerformance;`
|
|
- Case volume: `EXEC sp_CaseVolumeByPriority;`
|
|
- Data quality: `EXEC sp_CasesWithMissingData;`
|
|
|
|
### Monthly
|
|
- Activity report: `EXEC sp_MonthlyActivityReport;`
|
|
- Customer satisfaction: `EXEC sp_CustomerSatisfactionAnalysis;`
|
|
- Revenue analysis: `EXEC sp_CustomerRevenueAnalysis;`
|
|
|
|
### Quarterly
|
|
- Resource utilization: `EXEC sp_ResourceUtilizationReport;`
|
|
- Contract renewals: `EXEC sp_ContractRenewalAlerts;`
|
|
- Knowledge effectiveness: `EXEC sp_KnowledgeArticleEffectiveness;`
|
|
|
|
### Annually
|
|
- Archive old cases: `EXEC sp_ArchiveOldCases;`
|
|
|
|
---
|
|
|
|
## 📞 Support
|
|
|
|
All procedures and views are documented in your project files:
|
|
- See `CDM_Implementation_Guide.md` for complete technical reference
|
|
- See `CDM_QUICKSTART.md` for quick reference
|
|
|
|
For questions about specific procedures, you can:
|
|
1. View the procedure definition: `sp_helptext 'sp_ProcedureName'`
|
|
2. Review the parameter documentation in this file
|
|
3. Check the sample results and usage examples above
|
|
|
|
---
|
|
|
|
**Last Updated:** 2026-09-23
|
|
**Database Version:** 1.0
|
|
**Status:** ✅ All Reporting Tools Active and Tested
|
|
|