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[];
}