using System;
using System.Threading.Tasks;
using IOL.Fagprove.Data.Models;
namespace IOL.Fagprove.Services.Interfaces
{
public interface IAppReservationService
{
///
/// Check current reservations to determine if provided reservation is possible to make.
///
/// Reservation to check.
/// Boolean indicating if the reservation is possible or not
bool ReservationIsPossible(Reservation reservation);
///
/// Sends a status mail to the user that created provided reservation.
/// The contents of the message is determined by the provided reservation status.
///
/// Reservation to send email on.
/// Boolean indicating if the status mail was sent.
bool SendReservationStatusMail(Reservation reservation);
///
/// Determines if the provided reservation is valid and can be saved to db.
///
/// Reservation to check.
/// Boolean indicating if the reservation is valid or not.
bool ReservationIsValid(Reservation reservation);
}
}