feat: add party-size queueing and call modes
This commit is contained in:
@@ -9,6 +9,7 @@ export type TicketStatus =
|
||||
| "CANCELED"
|
||||
| "CANCELLED"
|
||||
| string;
|
||||
export type CallMode = "TICKET" | "PEOPLE" | "BOTH";
|
||||
|
||||
export interface UserDto {
|
||||
id: string;
|
||||
@@ -31,12 +32,20 @@ export interface ProjectDto {
|
||||
status: ProjectStatus;
|
||||
batch_size: number;
|
||||
call_batch_size?: number;
|
||||
call_mode?: CallMode;
|
||||
default_call_ticket_count?: number;
|
||||
max_call_ticket_count?: number;
|
||||
default_call_people_count?: number;
|
||||
max_call_people_count?: number;
|
||||
min_party_size?: number;
|
||||
max_party_size?: number;
|
||||
ticket_prefix?: string;
|
||||
timezone?: string;
|
||||
grace_period_minutes?: number;
|
||||
experienced_people_start?: number;
|
||||
visitor_notice?: string | null;
|
||||
eta?: {
|
||||
interval_per_number_seconds?: number;
|
||||
interval_per_person_seconds?: number;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -58,9 +67,11 @@ export interface QueueTicketDto {
|
||||
display_number?: string | null;
|
||||
phone?: string;
|
||||
phone_masked?: string | null;
|
||||
phone_last4?: string;
|
||||
last_name?: string | null;
|
||||
honorific?: string | null;
|
||||
status: TicketStatus;
|
||||
party_size: number;
|
||||
created_at?: string | null;
|
||||
estimated_wait?: unknown;
|
||||
public_token?: string | null;
|
||||
@@ -71,6 +82,10 @@ export interface CallBatchDto {
|
||||
id: string;
|
||||
batch_number: string | number;
|
||||
status: string;
|
||||
call_mode?: Exclude<CallMode, "BOTH">;
|
||||
requested_count?: number;
|
||||
ticket_count?: number;
|
||||
people_count?: number;
|
||||
tickets: QueueTicketDto[];
|
||||
called_at?: string | null;
|
||||
}
|
||||
@@ -89,7 +104,11 @@ export interface QueueSnapshotDto {
|
||||
recent_batches?: CallBatchDto[];
|
||||
metrics: {
|
||||
waiting_count: number;
|
||||
waiting_ticket_count: number;
|
||||
waiting_people_count: number;
|
||||
called_count?: number;
|
||||
called_ticket_count?: number;
|
||||
called_people_count?: number;
|
||||
estimated_wait?: unknown;
|
||||
last_ticket_number?: string | null;
|
||||
next_ticket_number?: string | null;
|
||||
@@ -100,6 +119,7 @@ export interface QueueSnapshotDto {
|
||||
|
||||
export interface CreateTicketPayload {
|
||||
phone: string;
|
||||
party_size: number;
|
||||
last_name?: string;
|
||||
honorific?: string;
|
||||
allow_duplicate?: boolean;
|
||||
@@ -107,9 +127,21 @@ export interface CreateTicketPayload {
|
||||
|
||||
export interface CreateTicketResponse {
|
||||
ticket: QueueTicketDto;
|
||||
public_token?: string;
|
||||
public_url?: string;
|
||||
status_path?: string;
|
||||
revision: string | number;
|
||||
}
|
||||
|
||||
export interface PublicProjectDto {
|
||||
id: string;
|
||||
name: string;
|
||||
status: ProjectStatus;
|
||||
visitor_notice?: string | null;
|
||||
min_party_size: number;
|
||||
max_party_size: number;
|
||||
}
|
||||
|
||||
export interface CallNextResponse {
|
||||
batch: CallBatchDto;
|
||||
revision: string | number;
|
||||
@@ -127,6 +159,8 @@ export interface PublicStatusDto {
|
||||
status?: ProjectStatus;
|
||||
};
|
||||
status: TicketStatus;
|
||||
party_size: number;
|
||||
tickets_ahead?: number | null;
|
||||
people_ahead?: number | null;
|
||||
latest_called_number?: string | null;
|
||||
estimated_wait?: unknown;
|
||||
@@ -135,6 +169,7 @@ export interface PublicStatusDto {
|
||||
entrance?: string | null;
|
||||
message?: string | null;
|
||||
visitor_notice?: string | null;
|
||||
experienced_people?: number | null;
|
||||
}
|
||||
|
||||
export interface PublicStatusSearchDto {
|
||||
@@ -147,6 +182,9 @@ export interface DisplaySnapshotDto {
|
||||
current_batch?: CallBatchDto | null;
|
||||
recent_batches: CallBatchDto[];
|
||||
waiting_count: number;
|
||||
waiting_ticket_count: number;
|
||||
waiting_people_count: number;
|
||||
experienced_people: number;
|
||||
estimated_wait?: unknown;
|
||||
last_updated_at?: string | null;
|
||||
device_status?: unknown;
|
||||
@@ -157,6 +195,11 @@ export interface AdminProjectDto extends Partial<ProjectDto> {
|
||||
name: string;
|
||||
status: ProjectStatus;
|
||||
waiting_count?: number;
|
||||
waiting_ticket_count?: number;
|
||||
waiting_people_count?: number;
|
||||
issued_ticket_count?: number;
|
||||
latest_ticket_number?: string | null;
|
||||
experienced_people?: number;
|
||||
current_batch?: string | number | CallBatchDto | null;
|
||||
estimated_wait?: unknown;
|
||||
last_updated_at?: string | null;
|
||||
@@ -165,8 +208,15 @@ export interface AdminProjectDto extends Partial<ProjectDto> {
|
||||
|
||||
export interface UpdateProjectSettingsPayload {
|
||||
status: string;
|
||||
call_batch_size: number;
|
||||
call_mode: CallMode;
|
||||
default_call_ticket_count: number;
|
||||
max_call_ticket_count: number;
|
||||
default_call_people_count: number;
|
||||
max_call_people_count: number;
|
||||
min_party_size: number;
|
||||
max_party_size: number;
|
||||
grace_period_minutes: number;
|
||||
experienced_people_start: number;
|
||||
eta_interval_seconds: number;
|
||||
visitor_notice: string;
|
||||
}
|
||||
@@ -179,6 +229,7 @@ export interface AdminActiveTicketDto {
|
||||
phone: string;
|
||||
last_name?: string | null;
|
||||
honorific?: string | null;
|
||||
party_size: number;
|
||||
status: TicketStatus;
|
||||
created_at: string;
|
||||
}
|
||||
@@ -187,6 +238,8 @@ export interface AdminOverviewDto {
|
||||
summary: {
|
||||
running_projects: number;
|
||||
waiting_count: number;
|
||||
waiting_ticket_count: number;
|
||||
waiting_people_count: number;
|
||||
anomaly_projects: number;
|
||||
offline_devices: number;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user