USP_DATALIST_RESERVATION_NONFLATRATETICKETS
List all tickets on a reservation that are calculated outside of flat rate.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONTEXTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_RESERVATION_NONFLATRATETICKETS
(
@CONTEXTID uniqueidentifier
)
as
declare @FEESDISCOUNTSANDREFUNDS table (
SALESORDERITEMID uniqueidentifier,
FEES money,
DISCOUNTS money
)
insert into @FEESDISCOUNTSANDREFUNDS
select
[SALESORDERITEM].[ID],
(
select coalesce(sum([FEESALESORDERITEM].[TOTAL]),0.0)
from dbo.[SALESORDERITEM] as [FEESALESORDERITEM]
inner join dbo.[SALESORDERITEMFEE] on [FEESALESORDERITEM].[ID] = [SALESORDERITEMFEE].[ID]
where [SALESORDERITEMFEE].[SALESORDERITEMID] = [SALESORDERITEM].[ID]
) as [FEES],
(
select coalesce(sum([AMOUNT]),0.0)
from dbo.[SALESORDERITEMITEMDISCOUNT]
where [SALESORDERITEMID] = [SALESORDERITEM].[ID]
) as [DISCOUNTS]
from dbo.[SALESORDERITEM]
where [SALESORDERITEM].[SALESORDERID] = @CONTEXTID
select
[ID],
[DESCRIPTION],
[STARTDATE],
[STARTTIME],
[LOCATION],
[QUANTITY],
[PRICE],
[DISCOUNTS],
[FEES],
[TOTAL],
[EVENTID],
[PROGRAMID],
[PRICETYPECODEID],
case PRICINGSTRUCTURECODE
when 2 then 1 -- when structure is override rate
else 0
end as [ISPRICEOVERRIDDEN]
from(
--Tickets
select
[SALESORDERITEM].[ID],
[SALESORDERITEM].[DESCRIPTION],
[EVENT].[STARTDATE],
[EVENT].[STARTTIME],
dbo.UFN_EVENT_GETLOCATIONNAME([EVENT].[ID]) as [LOCATION],
[SALESORDERITEM].[QUANTITY] as [QUANTITY],
[SALESORDERITEM].[PRICE],
[FEESDISCOUNTSANDREFUNDS].[DISCOUNTS],
[FEESDISCOUNTSANDREFUNDS].[FEES],
SALESORDERITEM.TOTAL + [FEESDISCOUNTSANDREFUNDS].[FEES] - [FEESDISCOUNTSANDREFUNDS].[DISCOUNTS] as [TOTAL],
[EVENT].[ID] as [EVENTID],
[PROGRAM].[ID] as [PROGRAMID],
[SALESORDERITEMTICKET].[PRICETYPECODEID],
0 as [ISREFUND],
[SALESORDERITEM].[DATEADDED],
SALESORDERITEM.PRICINGSTRUCTURECODE
from dbo.[SALESORDERITEM]
inner join @FEESDISCOUNTSANDREFUNDS as [FEESDISCOUNTSANDREFUNDS] on [SALESORDERITEM].[ID] = [FEESDISCOUNTSANDREFUNDS].[SALESORDERITEMID]
inner join dbo.[SALESORDERITEMTICKET] on [SALESORDERITEM].[ID] = [SALESORDERITEMTICKET].[ID]
inner join dbo.[PRICETYPECODE] on [SALESORDERITEMTICKET].[PRICETYPECODEID] = [PRICETYPECODE].[ID]
left join dbo.[EVENT] on [SALESORDERITEMTICKET].[EVENTID] = [EVENT].[ID]
left join dbo.[PROGRAM] on [SALESORDERITEMTICKET].[PROGRAMID] = [PROGRAM].[ID]
where
[SALESORDERITEM].[PRICINGSTRUCTURECODE] <> 1
) as [TICKETS]
order by [DATEADDED], [TICKETS].[ID]