feat: add historical data management
This commit is contained in:
151
web/src/types.ts
151
web/src/types.ts
@@ -246,3 +246,154 @@ export interface AdminOverviewDto {
|
||||
projects: AdminProjectDto[];
|
||||
active_tickets: AdminActiveTicketDto[];
|
||||
}
|
||||
|
||||
export interface AdminHistoryQuery {
|
||||
project_id?: string;
|
||||
from: string;
|
||||
to: string;
|
||||
status?: string;
|
||||
query?: string;
|
||||
page?: number;
|
||||
page_size?: number;
|
||||
}
|
||||
|
||||
export interface AdminHistoryTicketDto {
|
||||
id: string;
|
||||
project_id: string;
|
||||
project_name: string;
|
||||
project_code?: string;
|
||||
queue_session_id: string;
|
||||
business_date: string;
|
||||
ticket_number: string;
|
||||
ticket_sequence?: number;
|
||||
party_size: number;
|
||||
status: TicketStatus;
|
||||
joined_at?: string | null;
|
||||
called_at?: string | null;
|
||||
arrived_at?: string | null;
|
||||
completed_at?: string | null;
|
||||
missed_at?: string | null;
|
||||
terminal_at?: string | null;
|
||||
wait_seconds?: number | null;
|
||||
created_by?: string | null;
|
||||
phone?: string | null;
|
||||
phone_last4?: string | null;
|
||||
phone_masked?: string | null;
|
||||
last_name?: string | null;
|
||||
honorific?: string | null;
|
||||
personal_data_status: "AVAILABLE" | "ANONYMIZED" | string;
|
||||
personal_data_purged_at?: string | null;
|
||||
history_anonymized_at?: string | null;
|
||||
batch_id?: string | null;
|
||||
batch_sequence?: number | null;
|
||||
batch_position?: number | null;
|
||||
}
|
||||
|
||||
export interface AdminHistoryBatchDto {
|
||||
id: string;
|
||||
project_id: string;
|
||||
project_name: string;
|
||||
project_code?: string;
|
||||
queue_session_id: string;
|
||||
business_date: string;
|
||||
batch_sequence: number;
|
||||
revision?: number;
|
||||
status: string;
|
||||
call_mode?: "TICKET" | "PEOPLE" | string;
|
||||
requested_count: number;
|
||||
ticket_count: number;
|
||||
people_count: number;
|
||||
requested_by?: string | null;
|
||||
called_at?: string | null;
|
||||
completed_at?: string | null;
|
||||
ticket_numbers?: string[];
|
||||
tickets?: AdminHistoryTicketDto[];
|
||||
}
|
||||
|
||||
export interface AdminHistoryPageDto<T> {
|
||||
items: T[];
|
||||
page: number;
|
||||
page_size: number;
|
||||
total: number;
|
||||
from: string;
|
||||
to: string;
|
||||
}
|
||||
|
||||
export interface AdminHistoryHourlyDto {
|
||||
hour: number;
|
||||
issued_tickets: number;
|
||||
issued_people: number;
|
||||
called_tickets: number;
|
||||
called_people: number;
|
||||
}
|
||||
|
||||
export interface AdminHistoryPeakHourDto extends AdminHistoryHourlyDto {
|
||||
rank: number;
|
||||
}
|
||||
|
||||
export interface AdminHistoryDailyDto {
|
||||
business_date: string;
|
||||
total_tickets: number;
|
||||
total_people: number;
|
||||
called_tickets: number;
|
||||
completed_tickets: number;
|
||||
missed_tickets: number;
|
||||
canceled_tickets: number;
|
||||
completion_rate: number;
|
||||
missed_rate: number;
|
||||
canceled_rate: number;
|
||||
average_wait_seconds?: number | null;
|
||||
max_wait_seconds?: number | null;
|
||||
}
|
||||
|
||||
export interface AdminHistoryProjectDto {
|
||||
project_id: string;
|
||||
project_name: string;
|
||||
project_code?: string;
|
||||
total_tickets: number;
|
||||
total_people: number;
|
||||
called_tickets: number;
|
||||
completed_tickets: number;
|
||||
missed_tickets: number;
|
||||
canceled_tickets: number;
|
||||
completion_rate: number;
|
||||
missed_rate: number;
|
||||
canceled_rate: number;
|
||||
average_wait_seconds?: number | null;
|
||||
max_wait_seconds?: number | null;
|
||||
}
|
||||
|
||||
export interface AdminHistoryAlertDto {
|
||||
severity: number;
|
||||
type: string;
|
||||
title: string;
|
||||
detail: string;
|
||||
project_id: string;
|
||||
project_name: string;
|
||||
total_tickets: number;
|
||||
}
|
||||
|
||||
export interface AdminHistorySummaryDto {
|
||||
from: string;
|
||||
to: string;
|
||||
summary: {
|
||||
total_tickets: number;
|
||||
total_people: number;
|
||||
called_tickets: number;
|
||||
called_people: number;
|
||||
completed_tickets: number;
|
||||
completed_people: number;
|
||||
missed_tickets: number;
|
||||
canceled_tickets: number;
|
||||
completion_rate: number;
|
||||
missed_rate: number;
|
||||
canceled_rate: number;
|
||||
average_wait_seconds?: number | null;
|
||||
max_wait_seconds?: number | null;
|
||||
};
|
||||
hourly: AdminHistoryHourlyDto[];
|
||||
peak_hours?: AdminHistoryPeakHourDto[];
|
||||
daily?: AdminHistoryDailyDto[];
|
||||
projects?: AdminHistoryProjectDto[];
|
||||
alerts?: AdminHistoryAlertDto[];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user