CiirusXML15025
API 15.025
General
Welcome to The CiiRUS API. To begin, please thoroughly review this documentation, and please be sure to contact CiiRUS, Inc to begin step one of the Steps to Success (Click Here to Contact Us Now).
API Additional Fn(x)s
Integration WorkFlow
High-level overview of how the Integration process should go:
Click to View Full Size Diagram:
Common WorkFlows
On Demand Requests & Delta Options
Click to View Full Size Diagram:
Note: This is not the only acceptable work flow for implementation, but this outlines the process for several of the most common API implementations.
Bulk Data Caching
Click to View Full Size Diagram:
Note: Bulk data caching assumes that you preform the bulk transfer of data in fewer requests between 1 and 4 times per day. The ondemand data flow can be used for updating individual units as required with respect to delta options available.
General Related Help Articles
- The CiiRUS Network
- What is an API?
- What does an Arrival look like to a CiiRUS User?
- What does a Departure look like to a CiiRUS User?
Terminology:
Property Manager (PM), is the same as Management Company (MC).Booking is the same as Reservation.
Property is the same as Unit. This differs slightly regarding AOA properties.
CalendarSync allows an account that distributes homes for another Property Manager to sync the calendars when a booking is placed.
- If you are not familiar with the Difference between SuperSite and CalendarSync, please take a moment to review this article: Click here to read this article.
- If you are using AOA properties, you will need to utilize other CiiRUS web service endpoints, please contact your CiiRUS technical point of contact for more information.
- Who is the beneficiary of the guest payment? This party is typically intended to then dispurse any commissions to respective parties?
- Definition: is the organization that is held financially liable by the acquiring bank (i.e., the financial institution that processes the customer's credit and/or debit card payments) for all full and partial returns to the customer's card as well as any chargebacks initiated by the customer.
- If you intend to submit CC details to CiiRUS, you will require an alternate enpoint for such requests. Please contact your CiiRUS technical point of contact for more information.
Note: ALL INPUT FIELDS MUST BE PASSED TO THE FUNCTION FOR EVERY REQUEST. - Optional Values have an optional value state that is required.
Note: - This means that this element/object is required
Steps to Success:
Please follow the following steps to Success in the order as numbered:
- Signed Mutual Non-Disclosure Agreement (NDA)
- You/Your company must designate to CiiRUS which party will be the merchant of record (MOR).
- You will be provided with a technical point of contact and an account and/or API credentials with access to test properties belonging to our sandbox user, Floriwood's, account.
- You/Your Company will need to speak to the CiiRUS Business Development Department for Commercial and Contracting Considerations.(Please Call: (+1)(321)251-8020)
- If you will be caching any data, you should speak with your CiiRUS technical Point of contact to establish a polling policy.
- One of Three Options:
- To use this API for calendar/rates data only, that is it. Let's do business together.
- To Use this API for Calendar data and the ability to place reservations into CiiRUS User's Inventory please be sure to place a booking into one of our test user's (Floriwood's - MCUserID: 11006) properties for each booking scenario you are expecting to encounter. Please provide these test BookingID's to your CiiRUS technical Point of Contact. If all data shows correct/as expected by both CiiRUS and you/your company then that is it. Let's do business together.
- If neither of the two above or you do not see the functionality that you require to integrate with CiiRUS, the next steps will need to be discussed with The CiiRUS Business Development Department and your Technical Point of Contact.
Note: No need to delay, get started today!
Updates:
Please check this area regularly for news about updates, additions, new versions, and bug fixes. This section is intended to help existing integrations see at a glance what has changed.
CiiRUS uses semantic version-ing to implement any breaking changes, so this should not present an issue; however, this section can also be used to determine if any future API changes coincide with any new errors.
- July 26, 2015 - Beta 1.0 of Version 15.021 Published
- July 26, 2015 - Only IP Addresses known by CiiRUS for your user will be able to receive or transmit data from/to this web service.
- July 27, 2015 - Get Descriptions was refactored into the two functions, "GetDescriptionsHTML" and "GetDescriptionsPlainText"
- For more information on why you can pick from multiple descriptions review these articles:
- July 27, 2015 - The Function "GetImageList" will no longer return images if the user has not removed all sample images added to properties by defualt.
- July 27, 2015 - Error responses and logging have been updated for all functions (Please check that you are handling all errors and exceptions).
- July 27, 2015 - Function "GetPropertyPermissions" has been added to this API. This can be used for troubleshooting access to properties in your feed.
- July 27, 2015 - SSL security certificate added. HTTPS Required
- July 28, 2015 - Function "Ping" has been added to this API. This can be used to establish that your credentials work/your IP is accepted by the webservice/and that the webservice is not down.
- July 29, 2015 - xmlMsg (String) input parameter and specialResponse (String - same as specialResponse for xmlMsg) response added to following functions. Pass blank string unless otherwise discussed with your CiiRUS technical point of contact.
- July 29, 2015 - jSonMsg (String) input parameter and specialResponse (String - same as specialResponse for jSonMsg) added to following functions. Pass blank string unless otherwise discussed with your CiiRUS technical point of contact.
- July 30, 2015 - API Updated to support CalendarSync Properties
- August 13, 2015 - API Updated to support AOA Properties
- -If you are not familiar with the difference between booking By-The-Door and booking By-The-Type, please take a moment to review this article: Click here to read this article.
- August 25, 2015 - GetProperties response type updated to include ErrorMsg for each property.
Note:0 properties in response message updated from exception with message, "No rows returned", to valid server response with an ErrorMsg of "No Properties were found that fit the specified search Criteria." - September 02, 2015 - API Beta Version "CiirusXML15.021" deprecated.
- September 02, 2015 - API Beta Version "CiirusXML15.025" Released to API Channel Partners.
- September 10, 2015 - Function GetCommunities - Response updated to contain GeoCode of Community
- September 10, 2015 - The following functions were updated for an explicit response regarding Access to book via the supplier's account settings:
- October 16, 2015 - API recompiled against CiiRUS version 15.031
- October 20, 2015 - Function GetReservations restricted use for TimeShare Properties
- October 20, 2015 - Function GetPropertyPermissions updated to identify TimeShare Properties
- November 7, 2015 - Function GetPropertiesToBeEnabled beta ended, released for Production. Use to check for new properties from inventory suppliers not yet enabled by you, or get properties you have permissions to, but that you have disabled to exclude from API access/results for your user.
- November 7, 2015 - Function EnableDisableProperties beta ended, released for Production. Use to enable new properties from inventory suppliers not yet enabled by you, or update your user controled permissions settings of properties you have permissions to, but that you have disabled previously to exclude from API access/results for your user.
- November 19, 2015 - API recompiled against CiiRUS version 15.039
- December 09, 2015 - Function GetReservationsForAllPropertiesPerMC has been added to the API. This should be used for Bulk availability updates.
- December 17, 2015 - API recompiled against CiiRUS version 15.042
- December 30, 2015 - GetProperties Refactored GetProperties Function (decreased response time)
- January 06, 2016 - GetPropertyPermissions Error Response message has changed.
- Previous message:
Error (9000) Too many records exist relating this Property to your user. Please contact Ciirus. - New message:
Error (9000) Too few records exist relating this Property to your user. Please contact the supplier to configure this property for your channel.
- Previous message:
- January 07, 2016 - GetPropertyPermissions Response node "OnlineBookingAllowed" was added. This value indicates if the property can accept online bookings. Some properties might be permitted to accept enquiries only.
- February 26, 2016 - GetImageList Updated To Support the Agent setting for CalendarSync Properties to use the Images provided by the user which holds the property natively in their account.
- March 28, 2016 - API recompiled against CiiRUS version 16.014
- April 25, 2016 - GetPropertyRates New Error Message added
GetPropertyRates: Monthly Rates Not Supported via API. Monthly Rates Set By User. Please contact the Unit Supplier to configure a supported rate type for your channel.
- July 14, 2016 - MakeBooking xmlMsg (String) input parameter accepts new specialrequest message to add a comment against the booking being added.
- September 19, 2016 - GetPropertyPermissions New Error Message added
Error (15000) The MC may have disabled the clone property from the feed. The MC user for this property has not enabled this property for your feed, but you have accepted this property in the SuperSites area of the CiiRUS windows application.
- October 4, 2016 - MakeBooking New Error Message added
MakeBooking: The booking request does not match minimum night stay requirements set by the inventory supplier. Please book a different property or contact the unit supplier.
- January 10, 2018 - API recompiled against CiiRUS version 17.036
- March 26, 2018 - API recompiled against CiiRUS version 18.004
- August 14, 2018 - API recompiled against CiiRUS version 18.017
- August 22, 2018 - API recompiled against CiiRUS version 18.019
- June 5, 2019 - API recompiled against CiiRUS version 19.014
- November 18, 2019 - New Validation Errors added to GetPropertyRates: Validation Error 4 (non-clone property deleted) & Validation Error 5 (master of clone property deleted)
- November 18, 2019 - 2 new functions added: GetStaticPropertyDetails & GetManagementCompanyDetails.
GetStaticPropertyDetails returns additional information about the properties of a given supplier.
GetManagementCompanyDetails returns additional information about the property supplier.
Note: Please check back regularly. We are adding new functions and functionality through non-breaking changes almost everyday. Developers, please stay informed on CiiRUS API updates.
Obtaining API Support
CiiRUS is happy to support and stand behind its products and services, but CiiRUS does not support third party software or integrations created by third parties. If you would like to report an error, bug, or have technical questions, unless otherwise instructed, please submit your requests to CiiRUS Technical Support.
Please be sure to include:
- Your Account Username or ID (MCUserID)
- Any Agent(s)/Suppliers(s) that you believe to be affected
- The Function that is presenting the issue
- The input parameters to the function required to replicate the issue
- If Possible, a sample of the raw XML request.
-You could use an HTTP debugging proxy server application such as Fiddler, NetTool, WebScarab, etc. - The exact response or error message that you receive
- If Possible, a sample of the raw XML response.
-You could use an HTTP debugging proxy server application such as Fiddler, NetTool, WebScarab, etc. - A brief but thorough explanation of the issue.
Note: Failure to present some or all of this requested information regarding any issue(s) will result in delayed responses, and may result in a request for further information. If it cannot be replicated by a CiiRUS representative, it cannot be debugged or resolved. Please help us help you as efficiently and completely as possible.
Function Definitions
The following operations are supported. For a formal definition, please review the Service Description.
-
EnableDisableProperties
Enables Properties from suppliers into your account.
Use this function to add/remove one or more properties that need to be enabled/disabled to your feed. To be enabled/disable properties from your suppliers in your feed from CiiRUS.
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
- PropertyID (Class Object) - limit 25 of these objects in array per call (1 call per second)
- PropertyID (Integer) This propertyID to be updated
- MCUserID (Integer) - The MCUserID of this Property.
- Enabled (Boolean)
- True - You wish to enable this property (grant permissions to allow this property in your feed)
- False - You wish to disable this property (disallow permissions to this property in your feed)
Error Responses:- EnableDisableProperties: You must pass at least one PropertyID to this function for any action to occur.
- EnableDisableProperties: Could not resolve query. Please contact your CiiRUS technical point of contact if the issue persists (See Obtaining API Support).
- EnableDisableProperties: This function is limited to 25 properties per call (1 call per second).
Note: - This is the same as clicking enable in the App. By using this function, you are agreeing to do business and abide by the terms of your direct agreement with the supplying channel for each respective property.
Note: - This function cannot be called more than once per second.
Note: - This function is limited to 25 properties per call.
-
GetCommunities
Returns the Communities available to your account as related to one or more properties for which you have permissions.
Use this function to get a list of communities that apply to the properties that are available to you.
Note: This function caches responses for 1 minute.
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
Error Responses:- GetCommunities: Validation Error 1
- GetCommunities: Validation Error 2
- GetCommunities: Error - DataSet not Populated
- GetCommunities: Error - No Communities have been assigned to properties in your account yet. Please contact the user and request they populate this data.
- GetCommunities: Error - Unknown
-
GetDescriptionsHTML
Returns the HTML of the Description Set specified by this user for this property.
Use this function to get the description for the specified property. The description that is returned is in HTML format and may contain any HTML element: head, body, h1, p, a, etc.
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
- PropertyID (integer)
If plaintext is what you are looking for, use the get description function called "GetDescriptionsPlainText"
Error Responses:- GetDescriptionsHTML: Validation Error 1
- GetDescriptionsHTML: Validation Error 2 - Property has been deleted from the system
- GetDescriptionsHTML: Validation Error 2
- GetDescriptionsHTML: Error - DataSet not Populated
- GetDescriptionsHTML: Error - The description is blank
- GetDescriptionsHTML: Error - No Description Set Assigned
- GetDescriptionsHTML: Error - The PropertyID MUST be greater than zero
- GetDescriptionsHTML: Error - Unknown
-
GetDescriptionsPlainText
Returns the PlainText of the Description Set specified by this user for this property.
Use this function to get the description for the specified property. The description is returned is text only. If it contains HTML or is blank, please contact the user and request that they update the listing content of the Description Set assigned to this property for your Booking Agent channel.
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
- PropertyID (integer)
If HTML is what you are looking for, use the get description function called "GetDescriptions"
Error Responses:- GetDescriptionsPlainText: Validation Error 1
- GetDescriptionsPlainText: Validation Error 2 - Property has been deleted from the system
- GetDescriptionsPlainText: Validation Error 2
- GetDescriptionsPlainText: Error - DataSet not Populated
- GetDescriptionsPlainText: Error - The description is blank
- GetDescriptionsPlainText: Error - No Description Set Assigned
- GetDescriptionsPlainText: Error - The PropertyID MUST be greater than zero
- GetDescriptionsPlainText: Error - Unknown
-
GetImageList
Returns a list of URLs for Images associated with specified property
Use this function to get a string array of URLs to images for the specified property.
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
- PropertyID (Integer)
Error Responses:- GetImageList: Validation Error 1
- GetImageList: Validation Error 2
- GetImageList: Validation Error 2 - Property has been deleted from the system.
- GetImageList: Validation Error 3 - Property has been deleted from the system.
- GetImageList: Error - DataSet not Populated
- GetImageList: Error - No Images exist for this property at this time. Please contact the user and request they populate this data.
- GetImageList: This property contains demo images. Please contact the user and request they populate this data.
-
GetImageList2
Returns a list of URLs for Images associated with specified property
Use this function to get a string array of URLs to images for the specified property.
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
- PropertyID (Integer)
Error Responses:- GetImageList2: Validation Error 1
- GetImageList2: Validation Error 2
- GetImageList2: Validation Error 2 - Property has been deleted from the system.
- GetImageList2: Validation Error 3 - Property has been deleted from the system.
- GetImageList2: Error - DataSet not Populated
- GetImageList2: Error - No Images exist for this property at this time. Please contact the user and request they populate this data.
- GetImageList2: This property contains demo images. Please contact the user and request they populate this data.
-
GetManagementCompanyDefaultArrivalDepartureTimes
Returns a list of all management companies that supply you with properties
Use this function to get a list of the management companies that supply properties to you. Your own company will always be returned in this list, so even if you have no suppliers then at least 1 record will be returned with your User ID and company name.
Pass the following parameters:- APIUserName (String)
- APIPassword (String)
Error Responses:- GetManagementCompanyDefaultArrivalDepartureTimes: Validation Error 1
- GetManagementCompanyDefaultArrivalDepartureTimes: Error - DataSet not Populated
- GetManagementCompanyDefaultArrivalDepartureTimes: Error - Unkown Error
-
GetManagementCompanyDetails
This function returns an object containing details about a request property supplier.
Pass the following parameters:- ApiUsername (String)
- ApiPassword (String)
- McUserId (Integer)
Error Responses:- GetManagementCompanyDetails: Validation Error 1
-
GetManagementCompanyList
Returns a list of all management companies that supply you with properties
Use this function to get a list of the management companies that supply properties to you. Your own company will always be returned in this list, so even if you have no suppliers then at least 1 record will be returned with your User ID and company name.
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
Error Responses:- GetManagementCompanyList: Validation Error 1
- GetManagementCompanyList: Error - DataSet not Populated
- GetManagementCompanyList: Error - Unkown Error
-
GetProperties
Returns list of PropertyDetails that match the search criteria.
Use this function to get a list of properties that are available to you. This will include properties listed under your own Ciirus account as well as any properties assigned to you by a supplier.
You can pass various filter options to the function. If you pass a date range, then only properties that are available for your specified dates will be returned. If you pass the start or end date as a NULL or Empty string, then all properties that match your other filter criteria will be returned regardless of availability.
All filter options are required for every request and each parameter value should be handeled individually. Though many use that same convention, please read the meaning of each value for each parameter carfully to ensure you can return intended properties correctly with each request.
Note: This function caches responses for 20 minute.
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
- ArriveDate (Date - dd MMM yyyy)
- DepartDate (Date - dd MMM yyyy)
- FilterOptions Class Object Parameters
- ManagementCompanyID (Integer)
-Pass 0 for properties from all management companies. To retrieve only properties from a specific management company, enter their ID. Use the ‘GetManagementCompanyList’ function to get the list of available management companies and their ID. - CommunityID (Integer)
- This is currently for Central Florida Only. Pass 0 for all communities; otherwise, pass the ID of the community to filter. Use the ‘GetCommunities’ function to get the list of communities in which you have properties available. - PropertyID (Integer)
-Pass 0 for all properties or a specific ID to only receive details for 1 property. - PropertyType (Integer)
-Pass 0 for all types or a type ID for a specific type only. Use the ‘GetPropertyTypes’ function to get the list of available types. - HasPool (Integer)
-Pass 0 for properties without a pool, 1 for properties with a pool or any other integer for all properties. - HasSpa (Integer)
-Pass 0 for properties without a spa, 1 for properties with a spa or any other integer for all properties. - PrivacyFence (Integer)
-Pass 0 for properties without a privacy fence, 1 for properties with a privacy fence or any other integer for all properties. - CommunalGym (Integer)
-Pass 0 for properties without a communal gym, 1 for properties with a communal gym or any other integer for all properties. - HasGamesRoom (Integer)
-Pass 0 for properties without a games room, 1 for properties with a games room or any other integer for all properties. - IsGasFree (Boolean)
-Pass True to return only properties with no gas. Pass False for all properties. - Sleeps (Integer)
-Pass 0 for all properties, or >0 for properties that sleep at least the specified amount of guests. - Bedrooms (Integer)
-Pass 0 for all properties, or >0 for properties with the specified number of bedrooms. - PropertyClass (Integer)
-Pass 0 for all classes or a class ID for a specific class only. Use the ‘GetPropertyClasses’ function to get the list of available classes. - ConservationView (Integer)
-Pass 0 for properties without a conservation view, 1 for properties with a conservation view or any other integer for all properties. - WaterView (Integer)
-Pass 0 for properties without a water view, 1 for properties with a water view or any other integer for all properties. - LakeView (Integer)
-Pass 0 for properties without a lake view, 1 for properties with a lake view or any other integer for all properties. - WiFi (Integer)
-Pass 0 for properties without Wi-Fi, 1 for properties with Wi-Fi or any other integer for all properties. - PetsAllowed (Integer)
-Pass 0 for properties that do not allow pets, 1 for properties that do allow pets or any other integer for all properties. - OnGolfCourse (Integer)
-Pass 0 for properties not on a golf course, 1 for properties on a golf course or any other integer for all properties. - SouthFacingPool (Integer)
-Pass 0 for properties without a south facing pool, 1 for properties with a south facing pool or any other integer for all properties.
- ManagementCompanyID (Integer)
- SearchOptions Class Object Parameters
- ReturnTopX (Integer)
-Pass 0 to return all results, or > 0 to return only that amount of results. - ReturnFullDetails (Boolean)
-Pass False to return fewer details in the search results. This will make the results download to you faster. Pass True to return all property details. - ReturnQuote (Boolean)
-Pass False if you do not need a quote returned for each property. Pass True to return a quote for the specified dates. ArriveDate and DepartDate must be entered if you wish to return a quote. - ReturnQuote (Boolean)
-Pass False if you do not need a quote returned for each property. Pass True to return a quote for the specified dates. ArriveDate and DepartDate must be entered if you wish to return a quote.
Note: The time it takes for a query to run is significantly increased when you elect to return a quote. Do not select this option unless you specifically need to see the quoted price against each property. - IncludePoolHeatInQuote (Boolean)
-This option only applies if you also set ‘ReturnQuote’ to True. Setting this option to True includes the cost of pool heating in the calculated quote.
- ReturnTopX (Integer)
- xmlMsg (String)
-Pass blank string unless otherwise discussed with your CiiRUS technical point of contact. Below are optional "specialRequest" search options.<specialRequest>
<UserID>11006</UserID>{If using this message, Required. Replace 11006 with your API user UserID - (refference GetManagementCompanyList fn(x))}
<BedroomsGreaterThanOrEqualTo>true</BedroomsGreaterThanOrEqualTo> (Optional) Filters results by Bedrooms >= the bedrooms input parameter. False by defualt (= only).
<SleepsEqualTo>true</SleepsEqualTo> (Optional) Filters results by Sleeps = the sleeps input parameter. False by default (>=).
</specialRequest>Note: Please pass your xmlMsg as a string (plaintext/no URL encoded values accepted)
- jSonMsg (String)
-Pass blank string unless otherwise discussed with your CiiRUS technical point of contact.
Error Responses:- GetProperties: Validation Error 1
- GetProperties: Error - DataSet not Populated
- GetProperties: No Properties were found for this set of parameters.
- GetProperties: Error - DataSet not Populated (AOA - BookingsInCat)
- GetProperties: Error - DataSet not Populated (AOA - NumRoomsInCat)
- GetProperties: Error - Invalid days in range (AOA)
- GetProperties: Error - running through days in range (AOA)
- GetProperties: Error - Unkown Error
If you are passing parameters correctly to this function, and are still not able to return properties, please check the function "GetPropertyPermissions", and/or contact the user and request they populate this data.
-
GetPropertiesToBeEnabled
Returns the Properties accessable to your API User for which you have not yet enabled to do business. Until these are enabled, they will NOT be bookable and will NOT display as active properteis.
Use this function to get properties relative to your API User that require action before you can view/book this inventory via any API or SuperSite configuration.
Note:
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
Error Responses:- GetPropertiesToBeEnabled: Validation Error 1
- GetPropertiesToBeEnabled: DataSet Error 1
- GetPropertiesToBeEnabled: DataSet Error 2
- GetPropertiesToBeEnabled: DataSet Error 3
- GetPropertiesToBeEnabled: No Properties to be enabled at this time.
-
GetPropertyClasses
Returns a list of Property Classes, e.g. Standard, Superior etc.
Use this function to get a list of the property classes available, along with their ID’s (this ID is used to filter the search results in the GetProperties function)
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
Error Responses:- GetPropertyClasses: Validation Error 1
- GetPropertyClasses: Error - DataSet not Populated
- GetPropertyClasses: No Properties to which you have access have been assigned a class designation by the supplier(s). Please contact the user and request they populate this data.
- GetPropertyClasses: Error - Unkown Error
-
GetPropertyPermissions
Returns the PropertyPermissions of the propertyID passed tothis function relative to your API User.
Use this function to get the permissions and/or the relationship settings of this Property defined in the CiiRUS system relative to your API User.
Error Responses:- GetPropertyPermissions: Validation Error 1
- Error - Invalid PropertyID
- Error (1000) The MC could not be determined for this property.
- Error (1001) This property has been orphaned, and does not have an MC.
- Error (1010) No agent relation is configured between the supplier and the agent. Please contact Ciirus.
- Error (1011) Could not resolve agent relation. Please contact Ciirus.
- Error (1012) This property has been deleted. Please contact the inventory supplier.
- Error (1012-CS) This property has been deleted. Please contact the inventory supplier.
- Error (1013) It could not be determined if this property is a CalendarSync Clone.
- Error (2000) It could not be determined if this property is a CalendarSync Clone.
- Warning - No AOA category has been assigned to this property. This inventory cannot not be booked. Please contact the supplier.
- Error (3000) It could not be determined if this property is a AOA Property.
- Error (4000) Home owner accounts are not directly supported by the API. Please contact CiiRUS to set up a SuperSite User.
- Error (5000) The Management Company has not enabled this property for your user.
- Error (6000) You have not enabled these properties to accept them into your feed. Please log into the Windows application to complete this action.
- Error (7000) The MC has enabled the property for this API User, but you have not accepted this property in the SuperSites area of the CiiRUS windows application.
- Error (8000) The MC may have disabled the property from the feed. The MC user for this property has not enabled this property for your feed, but you have accepted this property in the SuperSites area of the CiiRUS windows application.
- Error (9000) Too few records exist relating this Property to your user. Please contact the supplier to configure this property for your channel.
- Error (10,000) Error determining Agent Relationship.
- Error (11,000) Too many records exist relating this Property to your user. Please contact Ciirus.
- Error (12,000) This is a Clone of a CalendarSync TimeShare property, but this child is not set as a Timeshare Property.
- Error (13,000) Could not determine if Property is TimeShare unit.
- Error (14000) This is a Clone of a CalendarSync property, but this child is set as a Timeshare Property and not the Master.
- Error (15000) The MC may have disabled the clone property from the feed. The MC user for this property has not enabled this property for your feed, but you have accepted this property in the SuperSites area of the CiiRUS windows application.
-
GetPropertyRates
Returns the daily net rates for specified property (for date bands where the end date >= today ONLY).
Note: If the supplier has selected "Use Nightly Floor Rates" this is the wholesale rate. This is different than that nightly floor rate. The API only returns the selected nightly rate per night, regardless of rate types set by the user. If a rate is set as 0.00, this was defined by the user. Please contact the user and request they populate this data. As long as a rateband has been defined (even as 0.00) for the date period of a reservation and the user has set the property to be bookable online, the property can be booked and the quote will be calculated based on the user's defined rates.Use this function to get a list of the property classes available, along with their ID’s (this ID is used to filter the search results in the GetProperties function)
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
- PropertyID (Integer)
Error Responses:- GetPropertyRates: Validation Error 1
- GetPropertyRates: Validation Error 2 - Property has been deleted from the system.
- GetPropertyRates: Validation Error 3 - Property has been deleted from the system.
- GetPropertyRates: Validation Error 2
- GetPropertyRates: Error - Could not resolve the Property's HostMC
- GetPropertyRates: Error - Could not resolve the User's relationship to this Property
- GetPropertyRates: Error - Could not Get CSSSAgent RateSetID could not be resolved.
- GetPropertyRates: Error - Owners are not directly supported via the API. Please contact CiiRUS to configure a SuperSite Agent.
- GetPropertyRates: Error - User has no Relation/permissions to this property.
- GetPropertyRates: Error - User has unknown Relations/permissions to this property.
- GetPropertyRates: Error - DataSet not Populated 1
- GetPropertyRates: Error - No Rate Assigned by user. Please contact the user and request they populate this data.
- GetPropertyRates: Error - No RateSet Resolved.
- GetPropertyRates: Error - The type of rates for this assigned RateSet could not be determined.
- GetPropertyRates: Error - DataSet not Populated 2
- GetPropertyRates: Monthly Rates Not Supported via API. Monthly Rates Set By User. Please contact the Unit Supplier to configure a supported rate type for your channel.
- GetPropertyRates: Error - Unknown Error
-
GetPropertyTypes
Returns a list of Property Types e.g. Villa, Condo, Apartment etc
Use this function to get a list of the property types available, along with their ID’s (this ID is used to filter the search results in the GetProperties function)
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
Error Responses:- GetPropertyTypes: Validation Error 1
- GetPropertyTypes: Error - DataSet not Populated
- GetPropertyTypes: Error - No PropertyTypes Assigned by user. Please contact the user and request they populate this data.
- GetPropertyTypes: Error - Unkown Error
-
GetReservations
Returns a list of reservations with depart date >= today ONLY.
Use this function to get a list of the reservations in the specified property.
Only reservations where the departure date is greater than or equal to today’s date are returned.
Note: This function caches responses for 1 minute. If you need to verify availabilty for a specific date range, please use, "IsPropertyAvailable ".Note: This Function does NOT support Timeshare Properties.
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
- PropertyID (Integer)
- xmlMsg (String)
-Pass blank string unless otherwise discussed with your CiiRUS technical point of contact. - jSonMsg (String)
-Pass blank string unless otherwise discussed with your CiiRUS technical point of contact.
Error Responses:- GetReservations: Validation Error 1
- GetReservations: Validation Error 2
- GetReservations: Validation Error 2 - Property has been deleted from the system.
- GetReservations: Validation Error 3 - Property has been deleted from the system.
- GetReservations: Error - This is a Clone of a CalendarSync TimeShare property, but this child is not set as a Timeshare Property.
- GetReservations: Error - Could not determine if Property is TimeShare unit.
- GetReservations: Timeshare Properties are not supported by this Function.
- GetReservations: Error - Could not determine if Property is AOA unit.
- GetReservations: Error - Could not get Property AOA category (1).
- GetReservations: Error - Could not get Property AOA category (2).
- GetReservations: AOA category not set by user (1).
- GetReservations: AOA category not set by user (2).
- GetReservations: Error - DataSet not Populated
-
GetReservationsForAllPropertiesPerMC
Returns a list of reservations per property by MCUserID with depart date >= today ONLY.
Use this function to get a list of the reservations in all properties of the specified MCUserID.
Only reservations where the departure date is greater than or equal to today’s date are returned.
Note: If you need to verify availabilty for a specific set of dates, please use, "IsPropertyAvailable". We also offer the alternate means of obtaiing availability: "GetAOATSPropertyNightlyRoomsToSell", "GetAllPropertyRatesAndRestrictionsPerMC", and "GetReservations" functions.Note: This Function does NOT support Timeshare Properties.
Note: This Function Caches for 6 hours. This should be used for bulk availability updates only. We encourage one or two times a day updating the cache of these values in your thrid party database, and all other updates be al a carte style as requested by the user.
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
- MCUserID (Integer)
- xmlMsg (String)
-Pass blank string unless otherwise discussed with your CiiRUS technical point of contact. - jSonMsg (String)
-Pass blank string unless otherwise discussed with your CiiRUS technical point of contact.
Error Responses:- GetReservationsForAllPropertiesPerMC: Validation Error 1
- GetReservationsForAllPropertiesPerMC: The MCUserID must be greater than 0.
- GetReservationsForAllPropertiesPerMC: Could not obtain list of MC Properties (1)
- GetReservationsForAllPropertiesPerMC: Could not obtain list of MC Properties (2)
- GetReservationsForAllPropertiesPerMC: Could not obtain list of MC Properties (3)
- GetReservationsForAllPropertiesPerMC: Validation Error 2
- GetReservationsForAllPropertiesPerMC: Validation Error 2 - Property has been deleted from the system.
- GetReservationsForAllPropertiesPerMC: Validation Error 3 - Property has been deleted from the system.
- GetReservationsForAllPropertiesPerMC: Error - This is a Clone of a CalendarSync TimeShare property, but this child is not set as a Timeshare Property.
- GetReservationsForAllPropertiesPerMC: Error - Could not determine if Property is TimeShare unit.
- GetReservationsForAllPropertiesPerMC: Timeshare Properties are not supported by this Function.
- GetReservationsForAllPropertiesPerMC: Error - Could not determine if Property is AOA unit.
- GetReservationsForAllPropertiesPerMC: Error - Could not get Property AOA category (1).
- GetReservationsForAllPropertiesPerMC: Error - Could not get Property AOA category (2).
- GetReservationsForAllPropertiesPerMC: AOA category not set by user (1).
- GetReservationsForAllPropertiesPerMC: AOA category not set by user (2).
- GetReservationsForAllPropertiesPerMC: Error - DataSet not Populated
- GetReservationsForAllPropertiesPerMC: Error - No Images exist for this property at this time. Please contact the user and request they populate this data.
- GetReservationsForAllPropertiesPerMC: This property contains demo images. Please contact the user and request they populate this data.
-
GetReservationsWithTime
Returns a list of reservations with depart date >= today ONLY.
Use this function to get a list of the reservations in the specified property.
Only reservations where the departure date is greater than or equal to today’s date are returned.
Note: This function caches responses for 1 minute. If you need to verify availabilty for a specific date range, please use, "IsPropertyAvailable ".Note: This Function does NOT support Timeshare Properties.
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
- PropertyID (Integer)
- xmlMsg (String)
-Pass blank string unless otherwise discussed with your CiiRUS technical point of contact. - jSonMsg (String)
-Pass blank string unless otherwise discussed with your CiiRUS technical point of contact.
Error Responses:- GetReservations: Validation Error 1
- GetReservations: Validation Error 2
- GetReservations: Validation Error 2 - Property has been deleted from the system.
- GetReservations: Validation Error 3 - Property has been deleted from the system.
- GetReservations: Error - This is a Clone of a CalendarSync TimeShare property, but this child is not set as a Timeshare Property.
- GetReservations: Error - Could not determine if Property is TimeShare unit.
- GetReservations: Timeshare Properties are not supported by this Function.
- GetReservations: Error - Could not determine if Property is AOA unit.
- GetReservations: Error - Could not get Property AOA category (1).
- GetReservations: Error - Could not get Property AOA category (2).
- GetReservations: AOA category not set by user (1).
- GetReservations: AOA category not set by user (2).
- GetReservations: Error - DataSet not Populated
-
GetStaticPropertyDetails
This function returns an object containing details about a request property supplier.
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
- PropertyIds (Args() of Integer. 50 Max)
Error Responses:- GetManagementCompanyDetails: Request limited to 50 properties per call.
- GetManagementCompanyDetails: Validation Error 1
- GetManagementCompanyDetails: Validation Error 2 User does not have rights to property.
-
IsPropertyAvailable
Check if stated property has availabilty for chosen dates. Returns True if there is availabity.
Use this function to do a real-time check if the specified property is available.
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
- PropertyID (integer)
- ArrivalDate (String, dd MMM yyyy)
- DepartureDate (String, dd MMM yyyy)
Error Responses:- IsPropertyAvailable: Validation Error 1
- IsPropertyAvailable: Validation Error 2 - Property has been deleted from the system.
- IsPropertyAvailable: Validation Error 3 - Property has been deleted from the system.
- IsPropertyAvailable: Validation Error 2
- IsPropertyAvailable: Error - Property not enabled for online booking. Please contact the supplier to enable this property.
- IsPropertyAvailable: Error - Invalid arrival or departure date.
- IsPropertyAvailable: Error - The minimum night stay could not be resolved for this date range.
- IsPropertyAvailable: Error - The AOA Property Status could not be resolved for this date range.
- IsPropertyAvailable: Error - DataSet not Populated(A)
- IsPropertyAvailable: Error - DataSet not Populated(AOA)
- IsPropertyAvailable: Error - DataSet not Populated
- IsPropertyAvailable: Error - Unkown Error 1
- IsPropertyAvailable: Error - Unkown Error 2
- IsPropertyAvailable: Error - The Allowed Arrival Days Could not be established.
- IsPropertyAvailable: Error - The Allowed Departure Days Could not be established.
-
MakeBooking
Place a booking
Use this function to place a booking. The booking is created with the rate calculated based on the parameters you pass.
Pass the following parameters:- APIUsername (String)
- APIPassword (String)
- BookingDetails Class Object Parameters
- ArrivalDate (String, dd MMM yyyy)
Booking arrival date in format ‘dd MMM yyyy’ - DepartureDate (String, dd MMM yyyy)
Booking Departure date in format ‘dd MMM yyyy’ - PropertyID (Integer)
The CiiRUS PropertyID of the Property you are trying to place a booking for the selected dates. - GuestName (String)
The lead guest name for this reservation. - GuestEmailAddress (String)
The lead guest's e-mail for this reservation. - GuestTelephone (String)
The lead guest's telephone for this reservation. - GuestAddress (String)
The lead guest's address for this reservation. (Billing Address) - Array of GuestList Class Objects
- Name (String)
- Age (Integer)
- PoolHeatRequired (Boolean)
- xmlMsg (String)
-Pass blank string unless otherwise discussed with your CiiRUS technical point of contact. Below are optional "specialRequest" additional options.<specialRequest>
<UserID>11006</UserID>{If using this message, Required. Replace 11006 with your API user UserID - (refference GetManagementCompanyList fn(x))}
<BookingComment>This is a Comment Test</BookingComment>
</specialRequest>Note: Please pass your xmlMsg as a URL encoded string (percentage encoded values only accepted)
- jSonMsg (String)
-Pass blank string unless otherwise discussed with your CiiRUS technical point of contact.
- ArrivalDate (String, dd MMM yyyy)
Error Responses:- MakeBooking: Validation Error 1
- MakeBooking: Error - You do not have permission to add a booking. Please Contact CiiRUS.
- MakeBooking: Validation Error 2 - Property has been deleted from the system.
- MakeBooking: Validation Error 3 - Property has been deleted from the system.
- MakeBooking: Validation Error 2
- MakeBooking: Error - Property not enabled for online booking. Please contact the supplier to enable this property.
- MakeBooking: Error - Unkown Error 2
- MakeBooking: Error - Arrival Date must be >= today
- MakeBooking: Error - Departure Date must be >= tomorrow
- MakeBooking: Error - Departure Date must be > Arrival Date
- MakeBooking: Error - The User Relation to this property could not be resolved.
- The Guest Name (at index: (i)) exceeded the maximum number of characters allowed (28 chars). This value was truncated.
(i) = 0 based index possition in array of objects passed to the GuestList Array of objects parameter - The Lead Guest Name exceeded the maximum number of characters allowed (95 chars). This value was truncated.
- The Guest E-mail exceeded the maximum number of characters allowed (48 chars). This value was truncated.
- The Guest Telephone exceeded the maximum number of characters allowed (32 chars). This value was truncated.
- The Guest Address exceeded the maximum number of characters allowed (75 chars). This value was truncated.
- Another reservation already exists overlapping your selected dates 1
- Another reservation already exists overlapping your selected dates 2
- Another reservation already exists overlapping your selected dates 3
- This property has been deleted.
- Error - Could not Contact CiiRUS Booking Engine.
- Error - Cannot determine if this is an AOA Property.
- Error - Error - Could not resolve AOAcategory.
- Error placing booking
- The booking was not placed
- Error at MakeBooking (Phase (i))
Note: (i) = integer representing phase in Booking function that an unknown exception occured - MakeBooking: The booking request does not match minimum night stay requirements set by the inventory supplier. Please book a different property or contact the unit supplier.
Additional Error Messages may be returned. If you recieve an alternate response, and are unsure why, or what it means, please contact your CiiRUS technical point of contact for more information.
CiiRUS offers two booking methods. This is the simpler (prefered) method. If this function does not meet the needs of your integration, please contact CiiRUS specifically outlining the lacking functionality. The alternate Booking method may provide this functionality, or the request may not yet be supported via the API. Either way, we would like to hear your feedback so that we can work towards a solution for all API partners for such matters.
Note: All input objects require an instance of the object is specified. For null or nothing, blank values of (String :"" or int: 0) respective datatypes should be included. For the Guestlist object, ages are required only for children (under 18). If no age is supplied, please pass -1 for the age value. THe GuestLIst array with 0 guest objects is a valid input, but the array of guests must be specified.
-
Ping
This can be used to establish that your credentials work/your IP is accepted by the webservice/and that the webservice is not down.
Pass the following parameters:- APIUserName (String)
- APIPassword (String)
Error Responses:- ping: Validation Error 1
Valid Response:- Pong (String)