Home > API General, Credits, Promotions (PCD), Sandbox/Staging Services > SWS GetAvailableDiscounts Method

SWS GetAvailableDiscounts Method


Retrieves a collection of discount data for a specified rental item. This is specific to discounts and promotions, it does not include credits.

Parameters

Name DataType Is Required
OrgID Long Required
Description The organization’s ID number.
RentalID Long Optional*
Description The Rental_ID for which to retrieve possible discounts. Use this for existing rentals. This is returned when using the MakeReservation method or can be searched for using the SearchBy method.
* Either the Rental_ID or Unit_ID is required.
SiteID Long Required
Description The site’s ID number. This can be found using the GetSiteList method.
UnitID Long Optional*
Description The unit’s ID number. This is returned when you use any of the GetSiteUnitData calls and is maintained through rentals.
* Either the Rental_ID or Unit_ID is required.

Returned Parameters

Name DataType
APPL_BEST_PCD APPL_BEST_PCD
Description Returns the object containing the data for the method call.

Example

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, a GetAvailableDiscounts request object and a GetAvailableDiscounts response object. We can define and create those like this:

// Create a request and response objects
SWS.WSSoapClient service = new SWS.WSSoapClient();
SWS.GetAvailableDiscounts_Request request = new SWS.GetAvailableDiscounts_Request();
SWS.GetAvailableDiscounts_Response response;

Here’s my sample code of the Request object.

// GetAvailableDiscounts Request for an available unit
request.OrgID = 123456;
request.SiteID = 123456;
request.UnitID = 123456;

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

// Call the method that will load the response object
try
{
  response = service.GetAvailableDiscounts(user_request,request);
}
catch (Exception ex)
{
  MessageBox.Show(ex.Message);
}

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.

  1. swsBecky
    April 6, 2017 at 9:32 am

    Updated Aug. 11, 2016: It was recently discovered that this method was not returning PCD’s beyond credit level 1. Code changes have been made to correct the issue and will be available in the next Store release.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: