export type RequestStatus = "ACCEPTED" | "ACTIVE" | "COMPLETED" | "EXPIRED" | "DELETED";
export type SurveyType = "OPTICS" | "RSA" | "COMBINED";

export type RequestSummary = {
  id: string;
  name: string;
  status: RequestStatus;
  surveyType: SurveyType;
  importance: number;
  beginDateTime: string;
  endDateTime: string;
  kpp?: number[];
  highPriorityTransmit: boolean;
  coveragePercent: number;
  createdAt: string;
  updatedAt: string;
};

export type RequestDetail = {
  id: string;
  name: string;
  status: RequestStatus;
  surveyType: SurveyType;
  geometry: string;
  importance: number;
  beginDateTime: string;
  endDateTime: string;
  kpp?: number[];
  highPriorityTransmit: boolean;
  createdAt: string;
  updatedAt: string;
};

export type RequestListResponse = {
  items: RequestSummary[];
  page: number;
  size: number;
  totalItems: number;
  totalPages: number;
};

export type RequestFilter = {
  beginFrom?: string;
  beginTo?: string;
  endFrom?: string;
  endTo?: string;
  status?: RequestStatus;
  surveyType?: SurveyType;
};

export type RequestMapItem = {
  id: string;
  name: string;
  status: RequestStatus;
  surveyType: SurveyType;
  geometry: string;
  importance: number;
  beginDateTime: string;
  endDateTime: string;
  kpp?: number[];
  highPriorityTransmit: boolean;
  coveragePercent: number;
  createdAt: string;
  updatedAt: string;
};
