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