export interface UserOrderData {
  status: boolean;
  data: {
    links: {
      previous: string;
      next: string;
    };
    total_items: number;
    total_pages: number;
    page_size: number;
    current_page: number;
    results: {
      orders: {
        id: number;
        user: {
          first_name: string;
          last_name: string;
          contact: string;
        };
        destination: string;
        total_price: number;
        order_status:
          | "pending_payment"
          | "pending_confirmation"
          | "cancelled"
          | "confirmed"
          | "completed";
        tour_name: string;
      }[];
      total_income: string;
      awaiting_payments: string;
      awaiting_payments_count: string;
      confirmed_order: string;
      pending_confirmation: string;
      completed_order: string;
      cancelled_order: string;
    };
  };
}

export interface OrderStatus {
  order_status:
    | "pending_payment"
    | "pending_confirmation"
    | "cancelled"
    | "confirmed"
    | "completed";
}

export interface UserOrderDetailData {
  status: boolean;
  data: {
    id: number;
    user: {
      id: number;
      last_login: string;
      is_superuser: true;
      first_name: string;
      last_name: string;
      is_staff: true;
      is_active: true;
      date_joined: string;
      phone: string;
      email: string;
      username: string;
      avatar: string;
      validated_at: string;
      role: string;
      total_spent: number;
      travel_agency: number;
    };
    departure: string;
    destination: string;
    departure_date: string;
    arrival_time: string;
    participant: [
      {
        first_name: string;
        last_name: string;
        birth_date: string;
        phone_number: string;
        gender: "male" | "female";
        participant_pasport_image: [
          {
            image: string;
          },
        ];
      },
    ];
    ticket: number;
    tariff: string;
    transport: string;
    extra_service: [
      {
        name: string;
      },
    ];
    extra_paid_service: [
      {
        name: string;
        price: number;
      },
    ];
    order_status:
      | "pending_payment"
      | "pending_confirmation"
      | "cancelled"
      | "confirmed"
      | "completed";
    total_price: number;
  };
}

export interface AgencyOrderData {
  status: boolean;
  data: {
    links: {
      previous: string;
      next: string;
    };
    total_items: number;
    total_pages: number;
    page_size: number;
    current_page: number;
    results: {
      id: number;
      name: string;
      custom_id: string;
      paid: number;
      pending: number;
      ticket_sold_count: number;
      ticket_count: string;
    }[];
  };
}

export interface UserAgencyDetailData {
  status: boolean;
  data: {
    id: 0;
    name: string;
    custom_id: string;
    share_percentage: number;
    addres: string;
    email: string;
    phone: string;
    web_site: string;
    paid: number;
    pending: number;
    ticket_sold_count: number;
    ticket_count: string;
    total_income: number;
    platform_income: number;
    total_booking_count: string;
    rating: string;
    orders: {
      id: number;
      user: {
        id: number;
        first_name: string;
        last_name: string;
        contact: string;
      };
      total_price: number;
      departure_date: string;
      arrival_time: string;
      created_at: string;
    }[];
    comments: {
      user: {
        id: number;
        first_name: string;
        last_name: string;
        contact: string;
      };
      text: string;
      rating: number;
      ticket: number;
      created: string;
    }[];
  };
}

export interface History {
  status: boolean;
  data: {
    links: {
      previous: string;
      next: string;
    };
    total_items: number;
    total_pages: number;
    page_size: number;
    current_page: number;
    results: {
      id: number;
      travel_agency: {
        custom_id: string;
        name: string;
        email: string;
        phone: string;
      };
      amount: number;
      note: string;
      accountant: {
        id: number;
        first_name: string;
        last_name: string;
        role: string;
      };
    }[];
  };
}

export interface OrderHistoryData {
  status: boolean;
  data: {
    links: {
      previous: string;
      next: string;
    };
    total_items: number;
    total_pages: number;
    page_size: number;
    current_page: number;
    results: [
      {
        id: number;
        user: {
          id: number;
          last_login: string;
          is_superuser: boolean;
          first_name: string;
          last_name: string;
          is_staff: boolean;
          is_active: boolean;
          date_joined: string;
          phone: string;
          email: string;
          username: string;
          avatar: string;
          validated_at: string;
          role: string;
          total_spent: number;
          travel_agency: number;
        };
        created_at: string;
        order: number;
        old_status:
          | "pending_payment"
          | "pending_confirmation"
          | "cancelled"
          | "confirmed"
          | "completed";
        new_status:
          | "pending_payment"
          | "pending_confirmation"
          | "cancelled"
          | "confirmed"
          | "completed";
      },
    ];
  };
}
