declare type TOvernightParkingDay = {
  isEnabled: boolean;
  startTime: string | null;
  endTime: string | null;
};

declare type TOvernightParkingAvailability = {
  monday: TOvernightParkingDay;
  tuesday: TOvernightParkingDay;
  wednesday: TOvernightParkingDay;
  thursday: TOvernightParkingDay;
  friday: TOvernightParkingDay;
  saturday: TOvernightParkingDay;
  sunday: TOvernightParkingDay;
  isAllowPlateNumberOpenBarrier?: boolean;
  autoApproveOvernightParking?: boolean;
};

declare type TOvernightParkingRequestStatus =
  | "approved"
  | "expired"
  | "rejected"
  | "pending"
  | (string & {});

declare type TOvernightParkingRequest = {
  _id?: ObjectId;
  site: string | ObjectId;
  name: string;
  contact: string;
  email: string;
  isOvernightParking?: boolean;
  numberOfPassengers?: number;
  purposeOfVisit?: string;
  status?: OvernightParkingRequestStatus;
  invitedBy: {
    _id: string | ObjectId;
    name: string;
  };
  createdAt?: string | Date;
  updatedAt?: string | Date;
  deletedAt?: string | Date;
  remarks?: string;
};
