USP_DATALIST_GROUPSALESCAPACITYAVAILABLE
Gives a list of days with capacity available and how much is available.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@MINIMUMCAPACITY | int | IN | At least |
@STARTDATE | date | IN | Start date |
@ENDDATE | date | IN | End date |
@IGNORERESERVATIONID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_GROUPSALESCAPACITYAVAILABLE
(
@MINIMUMCAPACITY int = null,
@STARTDATE date,
@ENDDATE date,
@IGNORERESERVATIONID uniqueidentifier = null
)
as
set nocount on;
declare @MAXIMUMCAPACITY int;
select top 1 @MAXIMUMCAPACITY = MAXIMUMCAPACITY
from GROUPSALESDEFAULT;
if @MAXIMUMCAPACITY is not null and @MAXIMUMCAPACITY > 0
begin
select
DATES.DATE as STARTDATE,
case when @MAXIMUMCAPACITY <= CAPACITYFORDATES.CAPACITY
then 0
else
isnull(@MAXIMUMCAPACITY - CAPACITYFORDATES.CAPACITY, @MAXIMUMCAPACITY)
end as CAPACITYAVAILABLE
from dbo.UFN_CALENDARDATES(@STARTDATE, @ENDDATE, 1) as DATES
left join dbo.UFN_GROUPSALESDEFAULT_GETCAPACITYFORDATESEXCLUDINGRESERVATION(@STARTDATE, @ENDDATE, @IGNORERESERVATIONID) CAPACITYFORDATES
on DATES.DATE = CAPACITYFORDATES.COMPAREDATE
where
CAPACITYFORDATES.CAPACITY is null
or (
@MINIMUMCAPACITY is null
or (@MAXIMUMCAPACITY - CAPACITYFORDATES.CAPACITY) >= @MINIMUMCAPACITY
)
end