package com.mvrent.carrental.service;

import com.mvrent.carrental.model.BookingStatus;
import com.mvrent.carrental.model.CarOwnership;

import java.time.LocalDate;

/** Optional filters for the bookings report (any field may be null = no filter). */
public record BookingFilter(
        LocalDate from,
        LocalDate to,
        Long carId,
        Long driverId,
        Long vendorId,
        CarOwnership ownership,
        BookingStatus status,
        Long customerCategoryId
) {
    public boolean isEmpty() {
        return from == null && to == null && carId == null && driverId == null
                && vendorId == null && ownership == null && status == null && customerCategoryId == null;
    }
}
