<?php

namespace App\Repositories\Interfaces;

interface BookingRepositoryInterface extends BaseRepositoryInterface
{
    public function findForUpdate(int $id): ?\App\Models\Booking;

    public function getUpcomingBooking($professionalData, $dateToday);

    public function getBookingByDate($professionalId, $date);

    public function getReminderCandidates(array $dates);

    public function getUnreleasedEarnings(int $professionalId);

    public function getUnpaidExpirationCandidates(string $latestDate);

    public function expireUnpaidBooking(int $bookingId): bool;
}
