Table of Contents

Class FirstAvailableBookingStrategy

Namespace
Core.CliniCore.Scheduling.BookingStrategies
Assembly
Core.CliniCore.dll

Booking strategy that finds the first available time slot

public class FirstAvailableBookingStrategy : IBookingStrategy
Inheritance
FirstAvailableBookingStrategy
Implements
Inherited Members

Properties

Description

Gets a description of how this strategy works

public string Description { get; }

Property Value

string

StrategyName

Gets the name of this booking strategy

public string StrategyName { get; }

Property Value

string

Methods

FindAvailableSlots(PhysicianSchedule, TimeSpan, DateTime, int, List<UnavailableTimeInterval>?)

Finds multiple available slots

public List<AppointmentSlot> FindAvailableSlots(PhysicianSchedule physicianSchedule, TimeSpan requestedDuration, DateTime earliestTime, int maxResults = 5, List<UnavailableTimeInterval>? facilityUnavailable = null)

Parameters

physicianSchedule PhysicianSchedule
requestedDuration TimeSpan
earliestTime DateTime
maxResults int
facilityUnavailable List<UnavailableTimeInterval>

Returns

List<AppointmentSlot>

FindNextAvailableSlot(PhysicianSchedule, TimeSpan, DateTime, List<UnavailableTimeInterval>?)

Finds the next available appointment slot

public AppointmentSlot? FindNextAvailableSlot(PhysicianSchedule physicianSchedule, TimeSpan requestedDuration, DateTime earliestTime, List<UnavailableTimeInterval>? facilityUnavailable = null)

Parameters

physicianSchedule PhysicianSchedule
requestedDuration TimeSpan
earliestTime DateTime
facilityUnavailable List<UnavailableTimeInterval>

Returns

AppointmentSlot