Posts Tagged ‘discounts’

SWS ApplyPCDs Method

April 26, 2011 Leave a comment

Adds a specified Promotion or Discount (PCD) to a rental item. See ApplyCreditToAssessments for applying credits.


Name DataType Is Required
OrgID Long Required
Description The organization’s ID number.
RentalID Long Required
Description The rental item’s ID number. This is returned when using the MakeReservation method or can be searched for using the SearchBy method.
SiteID Long Required
Description The site’s ID number. This can be found using the GetSiteList method.
PCDItem NewPCDItem Required
Description The PCD to apply to the rental item that was retrieved from the GetAvailableDiscounts SWS method.

Returned Parameters

Name DataType
Succeeded Boolean
Description Indicates that the PCD was applied successfully (“True”) or not (“False”).


As with every method we need to pass in credentials. We do this with the LookupUser request object.

We’ll assume you’ve got a web reference, let’s name it SWS, in your Visual Studio project.  At this point we need to our objects.  We’ll need the standard service object, an ApplyPCDs request object and an ApplyPCDs response object.  We can define and create those like this:

// Create request and response objects
SWS.WSSoapClient service = new SWS.WSSoapClient();
SWS.ApplyPCDs_Request request = new SWS.ApplyPCDs_Request();
SWS.ApplyPCDs_Response response;

We then fill in the data for the request:

//Applies a PCD to a rental
request.OrgID = 123456;
request.SiteID = 123456;
request.RentalID = 123456;
request.PCDItem.PCD_ID = 123456;
request.PCDItem.EffDate = DateTime.Today;
request.PCDItem.DiscountAmount = 10;
request.PCDItem.RevenueCategory = 1;
request.PCDItem.IsPromoDiscCredit = SWS.PCDType.Promotion;

Finally we can call the method and pass across the login object and the request object to apply our PCDs. It’s a good idea to do this in a Try Catch block.

   // Call the method that will load the response object
   response = service.ApplyPCDs(user_request, request);
catch (Exception ex)

Note that if something goes wrong the service will respond with an exception. You’ll want to take a look at that message returned in that exception so it can be debugged.

For a full list of methods see SWS Methods.