import { ValidationError } from '../common'; import { AddressDto } from '../common/address.dto'; import { ApprovalRequestStatus, ApprovalRequirement, TicketStage } from './ticket.enum'; export interface TicketTourSummaryDto { id: string; operationId: string; date: string; startAddress: AddressDto; targetAddress: AddressDto; } export interface TicketApprovalViewDto { requirement: ApprovalRequirement; status: ApprovalRequestStatus; statusLabel: string; actions: { override: { isPossible: boolean; label: string; confirmationMessage?: string; }; sendRequest: { isPossible: boolean; label: string; description: string; }; sendReminder: { isPossible: boolean; label: string; description: string; }; approve: { isPossible: boolean; }; }; } export interface TicketDetailDto { id: string; stage: TicketStage; general: { ordinanceType: string; transportType: string; category: string; hasInfection: boolean; infectionName: string | null; isSeries: boolean; seriesEndDate: Date; }; validationErrors: ValidationError[]; patient: { id: string; name: string; healthInsurance: string; address: AddressDto; }; approval: TicketApprovalViewDto; transportDocument: { isUploaded: boolean; link: string; }; tours: TicketTourSummaryDto[]; createdAt: Date; updatedAt: Date; }