UFN_ITINERARY_MINCAPACITYREMAINING

REPLACE_WITH_DESCRIPTION

Return

Return Type
int

Parameters

Parameter Parameter Type Mode Description
@ITINERARYID uniqueidentifier IN

Definition

Copy


      CREATE function dbo.UFN_ITINERARY_MINCAPACITYREMAINING(@ITINERARYID uniqueidentifier)
      returns int
      as begin
          declare @MINCAPACITYAVAILBLE int;

        declare @STARTDATE datetime;
        declare @ENDDATE datetime;

        select @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(coalesce(ITINERARY.STARTDATETIME, RESERVATION.ARRIVALDATE)),
               @ENDDATE   = dbo.UFN_DATE_GETEARLIESTTIME(coalesce(ITINERARY.ENDDATETIME, RESERVATION.ARRIVALDATE))
        from dbo.ITINERARY
          inner join dbo.RESERVATION
            on ITINERARY.RESERVATIONID = RESERVATION.ID
        where ITINERARY.ID = @ITINERARYID;

        with mycte as
        (
          select @STARTDATE as DateValue
          union all
          select DateValue + 1
          from mycte
          where DateValue + 1 <= @ENDDATE
        )
        select @MINCAPACITYAVAILBLE = min(dbo.UFN_GROUPSALESCAPACITY_CAPACITYREMAINING(mycte.DateValue, @ITINERARYID))
        from mycte

          return @MINCAPACITYAVAILBLE;
      end