USP_ITINERARYCLEAR_DELETE
Executes the "Itinerary Clear" record operation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the ID of the record being deleted. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the delete. |
Definition
Copy
CREATE procedure dbo.USP_ITINERARYCLEAR_DELETE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as begin
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @RESERVATIONID uniqueidentifier
declare @ISFLATRATE tinyint;
declare @STATUSCODE tinyint;
select
@RESERVATIONID = RESERVATION.ID,
@ISFLATRATE = PRICINGCODE,
@STATUSCODE = SALESORDER.STATUSCODE
from dbo.RESERVATION
inner join dbo.ITINERARY on ITINERARY.RESERVATIONID = RESERVATION.ID
inner join dbo.SALESORDER on SALESORDER.ID = RESERVATION.ID
where ITINERARY.ID = @ID;
if @STATUSCODE in (1, 5)
raiserror('BBERR_INVALIDSTATUS', 13, 1);
exec dbo.USP_ITINERARY_CLEAR @ID, @RESERVATIONID, @CHANGEAGENTID;
if @ISFLATRATE = 1
-- Will also update resources, taxes, fees
exec dbo.USP_RESERVATION_UPDATEFLATRATE @RESERVATIONID, @CHANGEAGENTID;
else
begin
-- update Sales order items for the resources (The duration of the itinerary changed, so per-hour items need to be updated).
exec dbo.USP_ITINERARY_RESOURCES_SALESORDERSYNC @ID, @RESERVATIONID, @CHANGEAGENTID
exec dbo.USP_ITINERARY_STAFFRESOURCES_SALESORDERSYNC @ID, @RESERVATIONID, @CHANGEAGENTID
exec dbo.USP_SALESORDER_CALCULATEFEES @RESERVATIONID, @CHANGEAGENTID;
exec dbo.USP_SALESORDER_APPLYITEMDISCOUNTS @RESERVATIONID, @CHANGEAGENTID;
exec dbo.USP_SALESORDER_APPLYORDERDISCOUNTS @RESERVATIONID, @CHANGEAGENTID;
exec dbo.USP_SALESORDER_CALCULATETAXES @RESERVATIONID, @CHANGEAGENTID;
end
return 0;
end