52 lines
1.1 KiB
TypeScript
52 lines
1.1 KiB
TypeScript
export type TicketCategory =
|
|
| 'ORDER'
|
|
| 'PAYMENT'
|
|
| 'PAYOUT'
|
|
| 'TECHNICAL_ISSUE'
|
|
| 'ACCOUNT'
|
|
| 'OTHER';
|
|
|
|
export type TicketPriority = 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
|
|
export type TicketStatus = 'OPEN' | 'IN_PROGRESS' | 'RESOLVED' | 'CLOSED';
|
|
|
|
export interface SupportMessage {
|
|
id: string;
|
|
ticketId: string;
|
|
senderId: string;
|
|
message: string;
|
|
attachments?: string[];
|
|
sender: {
|
|
name: string;
|
|
roleEnum: 'CUSTOMER' | 'DRIVER' | 'ADMIN';
|
|
};
|
|
createdAt: string;
|
|
}
|
|
|
|
export interface SupportTicket {
|
|
id: string;
|
|
ticketNumber: string;
|
|
category: TicketCategory;
|
|
priority: TicketPriority;
|
|
status: TicketStatus;
|
|
subject: string;
|
|
description: string;
|
|
orderId?: string;
|
|
customerId: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
messages?: SupportMessage[];
|
|
}
|
|
|
|
export interface CreateTicketPayload {
|
|
category: TicketCategory;
|
|
priority: TicketPriority;
|
|
subject: string;
|
|
description: string;
|
|
orderId?: string;
|
|
}
|
|
|
|
export interface PostMessagePayload {
|
|
message: string;
|
|
attachments?: string[];
|
|
}
|