declare type TFacilityBooking = {
  _id?: ObjectId;
  facility: string;
  site: string;
  timeSlots: string[];
  user: string;
  date: string;
  pax: number;
  createdAt?: Date | undefined;
  bookedFrom?: string;
  cancelledAt?: Date | undefined;
  rejectedAt?: Date | undefined;
  updatedAt?: Date;
  status?: any;
  memberId?: string;
  fullName?: string;
  userGivenName?: string;
  userSurname?: string;
  userBlockName?: string;
  userLevelName?: string;
  userUnitName?: string;
  company?: string;
  email?: string;
  phoneNumber?: string;
  isOvernightParking?: boolean;
  email?: string;
  facilityName?: string;
  invites?: string[];
  slotName?: string;
  bookingAmount?: number;
  bookingCurrency?: any;
  depositAmount?: number;
  refundPercentage?: string;
  refundPercentageValue?: string;
  bookingPayment?: any;
  name?: string;
  beforeCheckList?: any[];
  beforeHandOver?: any;
  afterCheckList?: any[];
  afterTakeOver?: any;
  review?: any;
  remarks?: string;
  topUpPayment?: number | string;
  bookingFeeRefundPercentage?: number | string;
  refundTransaction?: Record<string, any>;
  refundTransactionCancelled?: Record<string, any>;
  refundTransactionRejected?: Record<string, any>;
  bookingTaxPercentage?: Record<string, any>;
  createdByType?: string;
  bookingPolicy?: string;
};

declare type TFacilityBookingsByPageSearchResponse = {
  items: TFacilityBooking[];
  pageRange: string;
  pages: number;
};

declare type TItemFacilityBooking = {
  _id: string;
  facility: string;
  site: string;
  timeSlots: string[];
  user: string;
  date: string;
  pax: number;
  createdAt: string;
  updatedAt: string;
};
