rms interface specification - rmscloud.com · this document will list the available public...

39
This document is copyright © and may not be reproduced, copied, shared or transmitted to in any form to any other party without the express permission in writing of RMS Pty Ltd. Public Interface Specification Version 2.6 Version Updated Updated by Changes 1.0 22 Feb 2011 Lee Jackson 1.1 26 May 2011 Andrew Buttigieg Added Transactions 1.2 28 Jul 2011 Andrew Buttigieg Added GetListOfRes / GetListOfClients 1.3 04 Aug 2011 Andrew Buttigieg Added New OptionalFields 1.4 11 Aug 2011 Andrew Buttigieg Added New OptionalFields 1.5 22 Aug 2011 Andrew Buttigieg Added GetListOfCompanies 1.6 01 Sep 2011 Andrew Buttigieg Added AllowedToPostCharge / GetListOfAreasSetup Added CommsPin, ClientType and AllowedActivities to Client Record 1.7 07 Dec 2011 Andrew Buttigieg Added New Client Spare Fields and PrivacyNoMailOuts 1.8 16 Dec 2011 Andrew Buttigieg Added GroupMasterAccountId and PosOnGroupMaster to ResRecord 1.9 07 Feb 2012 Andrew Buttigieg Added Comment to Transaction 1.10 04 Apr 2012 Andrew Buttigieg Added Test Agent details 1.11 25 May 2012 Andrew Buttigieg Added RegoNumber to ResRecord and ResRequest Added UserDefinedFieldNo and UserDefinedValue to ClientRequest 1.12 15 Aug 2012 Andrew Buttigieg Added ConsentToUseCC, UserDefined 11-15 on Res 1.13 12 Sep 2012 Rocco Agostino Added GetAvailability per Property and/or Category. 1.14 24 Sep 2012 Andrew Buttigieg Added SaveClientDetails 1.15 16 Oct 2012 Andrew Buttigieg Added PABX Ext to Area, Added Hold records to ResRecord 1.16 26 Oct 2012 Rocco Agostino Added RetrieveCompanyLite, RetrieveTravelAgentLite, RetrieveHoldLite, RetrieveHeldLite, SaveCompanyDetails, SaveTravelAgentDetails, SaveHoldDetails and SaveHeldDetails. 1.17 30 Oct 2012 Rocco Agostino Changes to the RetrieveTravelAgentLite and SaveTravelAgentDetails. 1.18 08 Feb 2013 Andrew Buttigieg Added Get, Create and Update ClientLite 1.19 26 Feb 2013 Andrew Buttigieg Added AccountBalance to Client 2.0 06 Oct 2015 Andrew Buttigieg Multi Data Centre Changes 2.1 25 Aug 2017 Phuong Do Added GetListOfTransactions and SaveResDetails, Modifed SaveClientDetails 2.2 29 Nov 2017 Phuong Do Added GetListOfAuditTrail Added Get, Save and Delete UserMessage 2.3 21 Jan 2018 Andrew Buttigieg Added ListOfAreaNames to ResRequest Added Retrieve and Save functions for Company, Booking Source, Travel Agent and Held details Added GetGLGroups function Added Wholesaler property to TravelAgentLite 2.4 09 Mar 2018 Phuong Do Added SaveDocuments, GetListOfCompanies2, GetListOfRates2 Modified GetListOfReservations, SaveCompanyDetails 2.5 08 May 2018 Phuong Do Modifed RetrieveCompanyLite, RetrieveTravelAgentLite, GetListOfClients,

Upload: dinhkien

Post on 23-Mar-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

This document is copyright © and may not be reproduced, copied, shared or transmitted to in any form to any other party without the express permission in writing of RMS Pty Ltd.

Public Interface Specification

Version 2.6

Version Updated Updated by Changes

1.0 22 Feb 2011 Lee Jackson

1.1 26 May 2011 Andrew Buttigieg Added Transactions

1.2 28 Jul 2011 Andrew Buttigieg Added GetListOfRes / GetListOfClients

1.3 04 Aug 2011 Andrew Buttigieg Added New OptionalFields

1.4 11 Aug 2011 Andrew Buttigieg Added New OptionalFields

1.5 22 Aug 2011 Andrew Buttigieg Added GetListOfCompanies

1.6 01 Sep 2011 Andrew Buttigieg Added AllowedToPostCharge / GetListOfAreasSetup Added CommsPin, ClientType and AllowedActivities

to Client Record

1.7 07 Dec 2011 Andrew Buttigieg Added New Client Spare Fields and PrivacyNoMailOuts

1.8 16 Dec 2011 Andrew Buttigieg Added GroupMasterAccountId and PosOnGroupMaster to ResRecord

1.9 07 Feb 2012 Andrew Buttigieg Added Comment to Transaction

1.10 04 Apr 2012 Andrew Buttigieg Added Test Agent details

1.11 25 May 2012 Andrew Buttigieg Added RegoNumber to ResRecord and ResRequest Added UserDefinedFieldNo and UserDefinedValue

to ClientRequest

1.12 15 Aug 2012 Andrew Buttigieg Added ConsentToUseCC, UserDefined 11-15 on Res

1.13 12 Sep 2012 Rocco Agostino Added GetAvailability per Property and/or Category.

1.14 24 Sep 2012 Andrew Buttigieg Added SaveClientDetails

1.15 16 Oct 2012 Andrew Buttigieg Added PABX Ext to Area, Added Hold records to ResRecord

1.16 26 Oct 2012 Rocco Agostino Added RetrieveCompanyLite, RetrieveTravelAgentLite, RetrieveHoldLite, RetrieveHeldLite, SaveCompanyDetails,

SaveTravelAgentDetails, SaveHoldDetails and SaveHeldDetails.

1.17 30 Oct 2012 Rocco Agostino Changes to the RetrieveTravelAgentLite and SaveTravelAgentDetails.

1.18 08 Feb 2013 Andrew Buttigieg Added Get, Create and Update ClientLite

1.19 26 Feb 2013 Andrew Buttigieg Added AccountBalance to Client

2.0 06 Oct 2015 Andrew Buttigieg Multi Data Centre Changes

2.1 25 Aug 2017 Phuong Do Added GetListOfTransactions and SaveResDetails,

Modifed SaveClientDetails

2.2 29 Nov 2017 Phuong Do Added GetListOfAuditTrail Added Get, Save and Delete UserMessage

2.3 21 Jan 2018 Andrew Buttigieg Added ListOfAreaNames to ResRequest

Added Retrieve and Save functions for Company, Booking Source, Travel Agent and Held details

Added GetGLGroups function

Added Wholesaler property to TravelAgentLite

2.4 09 Mar 2018 Phuong Do Added SaveDocuments, GetListOfCompanies2, GetListOfRates2

Modified GetListOfReservations, SaveCompanyDetails

2.5 08 May 2018 Phuong Do Modifed RetrieveCompanyLite, RetrieveTravelAgentLite, GetListOfClients,

RMS Public Interface Specification

Page 2

GetListOfPropertiesDetails, GetListOfReservations, RetrieveBookingSourceLite, GetListOfTransactions,

GetListOfAreasDetail, GetListOfRates Added GetListOfGLCodes

Added GetListOfSundryChargesDetail Added GetListOfSubResTypes

Added GetListOfCategoriesDetail Added GetListOfMarketSegments

2.6 5 Jun 2018 Phuong Do Added GetListOfRateDetails

RMS Public Interface Specification

Page 3

1 Contents

RMS Public Interface Specification Public Interface Specification Version 2.5 .................................................................................................................................... 1

1 Contents ...................................................................................................................................................................... 3 2 Introduction ................................................................................................................................................................. 6 3 Protocol ....................................................................................................................................................................... 7

3.1 Web Services ......................................................................................................................................................... 7 3.2 Authentication ........................................................................................................................................................ 7 3.3 Dates and Times .................................................................................................................................................... 7

4 Public Methods ............................................................................................................................................................ 8 4.1 TestCall() as String ................................................................................................................................................ 8 4.2 GetConnectionInfo() as ConnectionInfoResponse .................................................................................................. 8 4.3 GetPropertyName() as String ................................................................................................................................. 8 4.4 GetListOfSundryCharges() as Class SundryBasic() ............................................................................................... 8 4.5 GetListOfProperties() as Class PropertyBasic() ...................................................................................................... 8 4.6 GetListOfCategories() as Class CategoryBasic() .................................................................................................... 8 4.7 GetListOfAreas() as Class AreaBasic() .................................................................................................................. 8 4.8 GetListOfAreasSetup() as Class AreaSetup()......................................................................................................... 8 4.9 GetListOfCreditCards() as Class CreditCardBasic() ............................................................................................... 9 4.10 ProcessTransactions() as Class TransactionResult() ............................................................................................. 9 4.11 GetSystemLabels() as Class SystemLabelsScreenData ........................................................................................ 9 4.12 GetListOfReservations() as Class ResResult ......................................................................................................... 9 4.13 GetListOfClients() as Class ClientResult ................................................................................................................ 9 4.14 SetBillPending() as Boolean ................................................................................................................................... 9 4.15 GetListOfCompanies() as Class CompanyBasic() .................................................................................................. 9 4.16 GetListOfClassifications() as Class ClassificationBasic() ...................................................................................... 10 4.17 AllowedToPostCharge() as Class AllowedToPostChargeResult()......................................................................... 10 4.18 GetAvailability() as Class AvailabilityResponse () ................................................................................................. 10 4.19 SaveClientDetails() as Class ClientLite () ............................................................................................................. 10 4.20 RetrieveCompanyLite() as Class CompanyLite () ................................................................................................. 10 4.21 RetrieveTravelAgentLite() as Class TravelAgentLite() .......................................................................................... 10 4.22 RetrieveHoldLite() as Class HoldLite () ................................................................................................................ 10 4.23 RetrieveHeldLite() as Class HeldLite() ................................................................................................................. 10 4.24 SaveCompanyDetails() as Class CompanyLite () ................................................................................................. 11 4.25 SaveTravelAgentDetails() as Class TravelAgentLite () ......................................................................................... 11 4.26 SaveHoldDetails() as Class HoldLite () ................................................................................................................ 11 4.27 SaveHeldDetails() as Class HeldLite () ................................................................................................................ 11 4.28 CreateClient() as Integer ...................................................................................................................................... 11 4.29 GetClient() as Class ClientLite ............................................................................................................................. 11 4.30 UpdateClient() as Boolean ................................................................................................................................... 11 4.31 GetListOfRegoNumbers() as List of Class RegoNumbersResults ....................................................................... 11 4.32 GetListOfTransactions() as Class TransListResult ............................................................................................. 12 4.33 SaveResDetails() as List of Class SaveResResult ............................................................................................. 12 4.34 GetListOfAuditTrail() as List of Class AuditTrailRecord ....................................................................................... 12 4.35 GetListOfUserMessages() as List of Class UserMessage................................................................................... 12 4.36 SaveUserMessage() as Class UserMessage ..................................................................................................... 12 4.37 DeleteUserMessage() as Boolean ...................................................................................................................... 12 4.38 SaveDocuments () as DocumentResult .............................................................................................................. 12 4.39 GetListOfCompanies2 () as CompanyResult ...................................................................................................... 12 4.40 GetListOfRate2 () as RateResult ........................................................................................................................ 13 4.41 GetListOfPropertiesDetails () as PropertyDetail .................................................................................................. 13 4.42 RetrieveBookingSourceLite () as List of Class BookingSourceLite ..................................................................... 13 4.43 GetListOfGLCodes () as List of Class GLCodeDetail () ...................................................................................... 13 4.44 GetListOfSundryChargesDetail() as List of Class SundryChargeDetail () ............................................................. 13 4.45 GetListOfContacts() as List of Class ContactDetail() ............................................................................................ 13 4.46 GetListOfCategoriesDetail () as List of Class CategoryDetail () ............................................................................ 13 4.47 GetListOfAreasDetail () as List of Class AreaDetail () ........................................................................................... 13 4.48 GetListOfResTypes () as List of Class ResTypeBasic () ....................................................................................... 14 4.49 GetListOfSubResTypes () as List of Class SubResType () ................................................................................... 14 4.50 GetListOfMarketSegments () as List of Class MarketSegment () .......................................................................... 14 4.51 GetListOfRateDetails () as List of Class RateDetail () ........................................................................................... 14

5 Appendix A – Class Definitions .................................................................................................................................. 15 5.1 ConnectionInfoRequest ........................................................................................................................................ 15 5.2 ConnectionInfoResponse ..................................................................................................................................... 15 5.3 SundryBasic ......................................................................................................................................................... 15 5.4 PropertyBasic....................................................................................................................................................... 15 5.5 CategoryBasic...................................................................................................................................................... 15 5.6 AreaBasic ............................................................................................................................................................ 15 5.7 AreaDetail ............................................................................................................................................................ 15 5.8 CreditCardBasic ................................................................................................................................................... 16 5.9 TransactionRequest ............................................................................................................................................. 16 5.10 TransactionResult ................................................................................................................................................ 16 5.11 Transaction .......................................................................................................................................................... 16

RMS Public Interface Specification

Page 4

5.12 SystemLabelsScreenData .................................................................................................................................... 17 5.13 ResRequest ......................................................................................................................................................... 18 5.14 ResResult ............................................................................................................................................................ 18 5.15 ResRecord ........................................................................................................................................................... 19 5.16 ClientRequest ...................................................................................................................................................... 21 5.17 ClientResult ......................................................................................................................................................... 21 5.18 ClientRecord ........................................................................................................................................................ 22 5.19 CompanyBasic ..................................................................................................................................................... 23 5.20 ClassificationBasic ............................................................................................................................................... 23 5.21 AllowedToPostChargeRequest ............................................................................................................................ 23 5.22 AllowedToPostChargeResponse .......................................................................................................................... 24 5.23 AvailabilityRequest ............................................................................................................................................... 24 5.24 AvailabilityResponse ............................................................................................................................................ 24 5.25 AvailableAreas ..................................................................................................................................................... 24 5.26 SaveClientRequest .............................................................................................................................................. 24 5.27 CompanyLite ........................................................................................................................................................ 24 5.28 SaveCompanyRequest ........................................................................................................................................ 25 5.29 TravelAgentLite .................................................................................................................................................... 25 5.30 SaveTravelAgentRequest .................................................................................................................................... 26 5.31 TravelAgentCompanyAssociations ....................................................................................................................... 26 5.32 HoldLite ............................................................................................................................................................... 26 5.33 SaveHoldRequest ................................................................................................................................................ 26 5.34 HeldLite ............................................................................................................................................................... 26 5.35 SaveHeldRequest ................................................................................................................................................ 26 5.36 ClientLite .............................................................................................................................................................. 26 5.37 RegoNumbersRequest ......................................................................................................................................... 27 5.38 RegoNumbersResults .......................................................................................................................................... 27 5.39 TransListRecord ................................................................................................................................................... 27 5.40 TransListRequest ................................................................................................................................................. 27 5.41 TransListResult .................................................................................................................................................... 28 5.42 ResLite ................................................................................................................................................................ 28 5.43 SaveResRequest ................................................................................................................................................. 29 5.44 SaveResResult .................................................................................................................................................... 29 5.45 AuditTrailRequest ................................................................................................................................................ 29 5.46 AuditTrailRecord .................................................................................................................................................. 29 5.47 UserMessageRequest .......................................................................................................................................... 30 5.48 SaveUserMessageRequest .................................................................................................................................. 30 5.49 UserMessage ....................................................................................................................................................... 30 5.50 SaveDocumentRequest ....................................................................................................................................... 30 5.51 Document ............................................................................................................................................................ 30 5.52 DocumentResult .................................................................................................................................................. 30 5.53 GetCompanyRequest ........................................................................................................................................... 31 5.54 CompanyResult ................................................................................................................................................... 31 5.55 GetRateRequest .................................................................................................................................................. 31 5.56 RateResult ........................................................................................................................................................... 31 5.57 BeddingConfig ..................................................................................................................................................... 31 5.58 PropertyDetail ...................................................................................................................................................... 31 5.59 AttributeLite .......................................................................................................................................................... 32 5.60 TaxLite ................................................................................................................................................................. 32 5.61 BookingSourceLite ............................................................................................................................................... 32 5.62 GLCodeDetail ...................................................................................................................................................... 32 5.63 SundryChargeDetail ............................................................................................................................................. 32 5.64 ContactDetail ....................................................................................................................................................... 33 5.65 CategoryDetailRequest ........................................................................................................................................ 33 5.66 CategoryDetail ..................................................................................................................................................... 33 5.67 AreaRequest ........................................................................................................................................................ 33 5.68 ResTypeBasic ...................................................................................................................................................... 34 5.69 SubResType ........................................................................................................................................................ 34 5.70 MarketSegment .................................................................................................................................................... 34 5.71 Rate ..................................................................................................................................................................... 34 5.72 RateDetailRequest ............................................................................................................................................... 34 5.73 RateDetail ............................................................................................................................................................ 35 5.74 Package ............................................................................................................................................................... 35

6 Appendix B – VB.NET Examples ............................................................................................................................... 36 6.1 Adding the Web Service Reference ...................................................................................................................... 36

6.1.1 Ensure Collection Type is set to Generic List as shown below (Visual Studio 2010) .................................. 36 6.1.2 Allowing the Web service to use large amounts of data. ............................................................................ 36

6.2 Retrieve Token and Property Name ..................................................................................................................... 36 6.3 Transactions ........................................................................................................................................................ 37

6.3.1 Create a Charge Transaction ..................................................................................................................... 37 6.3.2 Create a Cash Receipt Transaction ........................................................................................................... 37 6.3.3 Create a Credit Card/Eftpos Receipt Transaction ...................................................................................... 37 6.3.4 Post Transaction........................................................................................................................................ 37

6.4 Reservations ........................................................................................................................................................ 37 6.4.1 Get Reservations Arriving Tomorrow ......................................................................................................... 37

6.5 Creating / Updating a Client ................................................................................................................................. 38 6.5.1 Create New Client ..................................................................................................................................... 38

RMS Public Interface Specification

Page 5

6.5.2 Update Existing Client ............................................................................................................................... 39 6.6 Using the correct Webservice URL to initialise the WCF Client ............................................................................ 39

6.6.1 Initialise PublicServiceClient with custom URL .......................................................................................... 39

RMS Public Interface Specification

Page 6

2 Introduction

This document describes the protocol to provide for the exchange of information between the Property Management System (RMS) and the Third Party Applications. This document will list the available public functions that RMS will expose. It is intended that this document will be updated, if and when, these web services are expanded, or new services are provided. Third party applications will be required to undergo RMS Testing and certification before they are authorised to use this protocol. For information about the process and costs involved, please contact your nearest RMS Sales office.

RMS Public Interface Specification

Page 7

3 Protocol

3.1 Web Services

Web Services provide a standard means of interoperating between different applications, running on a variety of platforms and/or frameworks. The web services allow for the exchange of basic data that will allow Third Parties to develop against. The RMS Public Service is a WCF service. It can be utilized by most common programming languages including VB.NET, C# and Java. Please note. The RMS Development team are only familiar with .NET languages so will be not be able to assist with establishing WCF communication protocols in other languages.

The primary URL of the web service is https://api.rms.com.au/RMSPublicService/RMSPublicService.ServiceLibrary.svc It should be used to retrieve the WSDL and make the first GetConnectionInfo() call For the best performance, the client specific URL should be used for all calls made after the initial GetConnectionInfo()

3.2 Authentication

To use the Public Web Services you need to provide Authentication to prove you are an authorized agent, and that you have access to the Client data requested. This Agent Id is unique to you and can be used to access all Clients. Each RMS Client also has a unique Client No and Password. If the Client using the service does not know their password, it can be obtained by contacting RMS Support. For testing purposes the following details can be used. Please note. These agent credentials will only connect to a RMS Testing Database. Access will be denied to real client data until the application has been certified by RMS. Agent Id: 15 Agent Password: 1h&29$vk449f8 RMS Client Id: 3038 RMS Client Password: X!b69rN*

3.3 Dates and Times

Due to WCF automatic time conversion, date parameters must be sent without the time zone offset present. Eg. A date formatted as 2014-10-11T15:30:00+08:00 will be converted to 2014-10-11T17:30:00+10:00 causing inconsistent results A date formatted as 2014-10-11T15:30:00 will not be converted and will be processed by the server as 2014-10-11T15:30:00 To achieve this in VB.NET use the following syntax

DateTime.SpecifyKind(<THEDATE>, DateTimeKind.Unspecified)

RMS Public Interface Specification

Page 8

4 Public Methods

4.1 TestCall() as String

Used to confirm the ability to communicate with the service. If successful it will return “Hello World!!!”.

4.2 GetConnectionInfo() as ConnectionInfoResponse

Returns the Authentication Token and Connection information required for subsequent calls to the API. This information should be retrieved and stored on startup of your application as it is used for every call to the Public Service. The information will change very rarely so retrieving it on startup, and then refreshing it every 4-8 hours is sufficient in most cases. However, having an option to manually refresh the token is advisable. Please note. This call takes roughly 1 second on a good internet connection so retrieving it before every call will slow down you application significantly.

Parameters Type Required Description oRequest Class ConnectionInfoRequest Yes Client and Agent information

4.3 GetPropertyName() as String

Returns the Name of the Master RMS Property. Parameters Type Required Description

sToken String Yes Token for Validation

4.4 GetListOfSundryCharges() as Class SundryBasic()

Returns the List of Sundry charges configured in the RMS system. A valid sundry id is required to post charges to the RMS Service

Parameters Type Required Description sToken String Yes Token for Validation

4.5 GetListOfProperties() as Class PropertyBasic()

Returns the list of Properties configured in the RMS database.

Parameters Type Required Description sToken String Yes Token for Validation

4.6 GetListOfCategories() as Class CategoryBasic()

Returns the list of Categories configured in the RMS database in the Properties requested.

Parameters Type Required Description sToken String Yes Token for Validation lstOfPropertyIds List Of

Integer No The list of properties to return categories for. If

no properties are specified then all categories will be returned.

4.7 GetListOfAreas() as Class AreaBasic()

Returns the list of Areas configured in the RMS database in the Properties or Categories requested. Note: If lstOfPropertyIds and lstOfCatIds are specified, only lstOfCatIds will be used.

Parameters Type Required Description sToken String Yes Token for Validation lstOfPropertyIds List Of

Integer No The list of properties to return areas for. If no

properties are specified then all areas will be returned.

lstOfCatIds List Of Integer

No The list of categories to return areas for. If no categories are specified then all areas will be returned.

4.8 GetListOfAreasSetup() as Class AreaSetup()

Returns the list of Areas with detailed information configured in the RMS database in the Properties or Categories requested. Note: If lstOfPropertyIds and lstOfCatIds are specified, only lstOfCatIds will be used.

Parameters Type Required Description sToken String Yes Token for Validation lstOfPropertyIds List Of

Integer No The list of properties to return areas for. If no

properties are specified then all areas will be

RMS Public Interface Specification

Page 9

returned. lstOfCatIds List Of

Integer No The list of categories to return areas for. If no

categories are specified then all areas will be returned.

4.9 GetListOfCreditCards() as Class CreditCardBasic()

Returns the List of Credit Cards configured in the RMS System. A valid Credit Card Id is required to post credit card transactions to the RMS Service.

Parameters Type Required Description sToken String Yes Token for Validation

4.10 ProcessTransactions() as Class TransactionResult()

Posts charges and receipts to the RMS database.

Parameters Type Required Description sToken String Yes Token for Validation oRequest Class (TransactionRequest) Yes Request Object

4.11 GetSystemLabels() as Class SystemLabelsScreenData

Returns the list of customisable labels and field names in RMS and what the Property has named each of them.

Parameters Type Required Description sToken String Yes Token for Validation

4.12 GetListOfReservations() as Class ResResult

Returns a list of reservations based on the selection parameters in the Request object. To ensure the quickest response times, only the most used fields (defined below) are filled in the Response by default. To have other fields filled, they must be enabled in the Request.ResOptionalFieldList and Request.ClientOptionalFieldList. Please Note. A maximum of 3000 records will be returned per call.

Parameters Type Required Description sToken String Yes Token for Validation oResRequest Class

(ResRequest) Yes Contains search parameters to use and the list of

fields to return in the reservation search.

4.13 GetListOfClients() as Class ClientResult

Returns a list of clients based on the selection parameters in the Request object. To ensure the quickest response times the most used fields (defined below) are filled in the Response by default. To have other fields filled, they must be enabled in the Request.ClientOptionalFieldList class. Please Note. A maximum of 3000 records will be returned per call.

Parameters Type Required Description sToken String Yes Token for Validation oGuestRequest Class

(ClientRequest) Yes Contains search parameters to use and the list of

fields to return in the client search.

4.14 SetBillPending() as Boolean

Toggles the Reservation Bill Pending status. When this is set to True, the reservation cannot be checked out. The result of the call will be True if the update was successful.

Parameters Type Required Description sToken String Yes Token for Validation nResId Integer Yes The ResId to update bPending Boolean Yes The new Pending status

4.15 GetListOfCompanies() as Class CompanyBasic()

Returns the list of Companies in the system.

Parameters Type Required Description sToken String Yes Token for Validation

RMS Public Interface Specification

Page 10

4.16 GetListOfClassifications() as Class ClassificationBasic()

Returns the list of Classifications in the system.

Parameters Type Required Description sToken String Yes Token for Validation

4.17 AllowedToPostCharge() as Class AllowedToPostChargeResult()

Returns whether the Client specified is allowed to post a charge based on a number of rules includeing whether the client has a valid reservation. Either the Client Id or MembershipNo must be supplied.

Parameters Type Required Description sToken String Yes Token for Validation oRequest Class

(AllowedToPostChargeRequest) Yes Contains search parameters to use

4.18 GetAvailability() as Class AvailabilityResponse ()

This call returns a list of areas available for each category based on the properties and categories past in by the request.

Parameters Type Required Description sToken String Yes Token for Validation oRequest Class (AvailabilityRequest) Yes Contains search parameters to use

4.19 SaveClientDetails() as Class ClientLite ()

Creates or Updates a Client Record. If ClientId is 0 a new record is created, If ClientId is not 0, client will be updated. Note. All fields will be updated every time so GetListOfClients should be used first to prime client before updating.

Parameters Type Required Description sToken String Yes Token for Validation oRequest Class (SaveClientRequest) Yes Contains date and client record

4.20 RetrieveCompanyLite() as Class CompanyLite ()

This call returns a list of companies available in the database.

Parameters Type Required Description sToken String Yes Token for Validation lstCompanyIds List of Integers Yes List of company Ids. If set to Nothing,

all companies are returned.

4.21 RetrieveTravelAgentLite() as Class TravelAgentLite()

This call returns a list of travel agents available in the database.

Parameters Type Required Description sToken String Yes Token for Validation lstAgentIds List of Integers Yes List of Travel Agent Ids. If set to

Nothing, all travel agents are returned.

4.22 RetrieveHoldLite() as Class HoldLite ()

This call returns a list of holds setup in the database.

Parameters Type Required Description sToken String Yes Token for Validation lstHoldIds List of Integers Yes List of Hold Ids. If set to Nothing, all

holds are returned.

4.23 RetrieveHeldLite() as Class HeldLite()

This call returns a list of held information setup in the database.

Parameters Type Required Description sToken String Yes Token for Validation lstHeldIds List of Integers Yes List of Held Ids. If set to Nothing, all

helds are returned.

RMS Public Interface Specification

Page 11

4.24 SaveCompanyDetails() as Class CompanyLite ()

This call allows you to create or edit a company. If the Company.CompanyId parameter in the oRequest class is set to 0, then it will create a new company. To edit a company’s details, pass in the value of the company id in this parameter.

Parameters Type Required Description sToken String Yes Token for Validation oRequest Class (SaveCompanyRequest) Yes Contains company information to save.

4.25 SaveTravelAgentDetails() as Class TravelAgentLite ()

This call allows you to create or edit a travel agent. If the TravelAgent.AgentId parameter in the oRequest class is set to 0, then it will create a new travel agent. To edit a travel agent’s details, pass in the value of the travel agent id in this parameter.

Parameters Type Required Description sToken String Yes Token for Validation oRequest Class

(SaveTravelAgentRequest) Yes Contains travel agent information to

save.

4.26 SaveHoldDetails() as Class HoldLite ()

This call allows you to create or edit a hold record. If the Hold.HoldId parameter in the oRequest class is set to 0, then it will create a new hold record. To edit a hold record, pass in the value of the hold id in this parameter.

Parameters Type Required Description sToken String Yes Token for Validation oRequest Class (SaveHoldRequest) Yes Contains reservation hold information to

save.

4.27 SaveHeldDetails() as Class HeldLite ()

This call allows you to create or edit a held record. If the Held.HeldId parameter in the oRequest class is set to 0, then it will create a new held record. To edit a held record, pass in the value of the held id in this parameter.

Parameters Type Required Description sToken String Yes Token for Validation oRequest Class (SaveHeldRequest) Yes Contains travel information or category

information to save.

4.28 CreateClient() as Integer

Parameters Type Required Description sToken String Yes Token for Validation oClient Class (ClientLite) Yes Contains information about the client to

be created

4.29 GetClient() as Class ClientLite

Parameters Type Required Description sToken String Yes Token for Validation nClientId Integer Yes The Client Id of the client to retrieve

4.30 UpdateClient() as Boolean

Parameters Type Required Description sToken String Yes Token for Validation oClient Class (ClientLite) Yes Contains information about the client to

be created dDateOfNow Date Yes The current date/time of the system the

interface is running on

4.31 GetListOfRegoNumbers() as List of Class RegoNumbersResults

Parameters Type Required Description sToken String Yes Token for Validation oRegoRequest Class (RegoNumbersRequest) Yes Contains parameters that determine which

Rego and Access No's are return

RMS Public Interface Specification

Page 12

4.32 GetListOfTransactions() as Class TransListResult

Parameters Type Required Description sToken String Yes Token for Validation

oTransRequest Class (TransListRequest) Yes Contains parameters that determine which transactions are returned

4.33 SaveResDetails() as List of Class SaveResResult

This call allows you to create or edit a reservation. If the ResLite.ResId parameter in the oRequest class is set to 0, then it will create a reservation. To edit a reservation’s details, pass in the value of the reservation id in this parameter.

Parameters Type Required Description sToken String Yes Token for Validation

oRequest Class (SaveResRequest) Yes Contains Date, Client Id and Reservation information to save.

4.34 GetListOfAuditTrail() as List of Class AuditTrailRecord

This call allows you to get a list of Audit Trail.

Parameters Type Required Description sToken String Yes Token for Validation

oRequest Class (AuditTrailRequest) Yes Contains parameters that determine which audit trails are returned

4.35 GetListOfUserMessages() as List of Class UserMessage

This call allows you to get a list of User messages.

Parameters Type Required Description sToken String Yes Token for Validation

oRequest Class (UserMessageRequest) Yes Contains parameters that determine which user messages are returned

4.36 SaveUserMessage() as Class UserMessage

This call allows you to create or edit a user message. If the UserMessage.MessageId parameter in the oRequest class is set to 0, then it will create a new user message. To edit a user message, pass in the value of the message id in this parameter.

Parameters Type Required Description sToken String Yes Token for Validation

oRequest Class (SaveUserMessageRequest)

Yes Contains Date, User message information to save

4.37 DeleteUserMessage() as Boolean

This call allows you to delete a user message.

Parameters Type Required Description sToken String Yes Token for Validation

nMessageId Integer Yes Id of the user message that you want to delete

4.38 SaveDocuments () as DocumentResult

This call allows you to save and upload documents.

Parameters Type Required Description sToken String Yes Token for Validation

oRequest Class (SaveDocumentRequest) Yes Contains document detail to save

4.39 GetListOfCompanies2 () as CompanyResult

This call allows you to get a list of companies.

Parameters Type Required Description sToken String Yes Token for Validation

oRequest Class (GetCompanyRequest) Yes Contains parameters that determine which companies are returned

RMS Public Interface Specification

Page 13

4.40 GetListOfRate2 () as RateResult

This call allows you to get a list of rates.

Parameters Type Required Description sToken String Yes Token for Validation

oRequest Class (GetRateRequest) Yes Contains parameters that determine which rates are returned

4.41 GetListOfPropertiesDetails () as PropertyDetail

This call allows you to get the details of properties.

Parameters Type Required Description sToken String Yes Token for Validation

4.42 RetrieveBookingSourceLite () as List of Class BookingSourceLite

This call allows you to retrieve a list of booking source based on a given booking source Ids

Parameters Type Required Description sToken String Yes Token for Validation

lstBookingSourceIds List of Integers No List of Booking source Ids. If set to Nothing, all booking sources are returned.

4.43 GetListOfGLCodes () as List of Class GLCodeDetail ()

This call allows you to retrieve a list of GL Codes of a property

Parameters Type Required Description sToken String Yes Token for Validation

nPropertyId Integer Yes A property Id. If set to -1 or unused, all GL Code from the connected property will be returned

4.44 GetListOfSundryChargesDetail() as List of Class SundryChargeDetail ()

Returns the List of Sundry charge details configured in the RMS system. Parameters Type Required Description

sToken String Yes Token for Validation

4.45 GetListOfContacts() as List of Class ContactDetail()

Returns the List of contacts configured in the RMS system. Parameters Type Required Description

sToken String Yes Token for Validation

4.46 GetListOfCategoriesDetail () as List of Class CategoryDetail ()

Returns the List of categories configured in the RMS system. Parameters Type Required Description

sToken String Yes Token for Validation oRequest Class

(CategoryDetailRequest) Yes Contains parameters that determine which

categories are returned

4.47 GetListOfAreasDetail () as List of Class AreaDetail ()

Returns the List of areas configured in the RMS system. Parameters Type Required Description

sToken String Yes Token for Validation oRequest Class

(AreaRequest) Yes Contains parameters that determine which areas are

returned

RMS Public Interface Specification

Page 14

4.48 GetListOfResTypes () as List of Class ResTypeBasic ()

Returns the List of res types configured in the RMS system. Parameters Type Required Description

sToken String Yes Token for Validation

4.49 GetListOfSubResTypes () as List of Class SubResType ()

Returns the List of sub res types configured in the RMS system. Parameters Type Required Description

sToken String Yes Token for Validation nParentResTypeId Integer No The parent res type id. If set to 0 or unused, it

will return all sub res types

4.50 GetListOfMarketSegments () as List of Class MarketSegment ()

Returns the List of market segments configured in the RMS system. Parameters Type Required Description

sToken String Yes Token for Validation

4.51 GetListOfRateDetails () as List of Class RateDetail ()

Returns the List of rates configured in the RMS system. Parameters Type Required Description

sToken String Yes Token for Validation oRequest Class

(RateDetailRequest) Yes Contains parameters that determine which

rates are returned

RMS Public Interface Specification

Page 15

5 Appendix A – Class Definitions

5.1 ConnectionInfoRequest

Property Type Description AgentId Integer The Agent Id supplied to you by RMS to access the API.

This is the same for all client's your application connects to.

AgentPassword String The Agent Password supplied to you by RMS RMSClientNo Integer The Client No of the RMS Client you want to access the

API on behalf of. ClientPassword String The Public API password for the Client Id TrainingDatabase Boolean Whether to connect to the Client's Live or Training

database

5.2 ConnectionInfoResponse

Property Type Description Token String The Authentication token required for subsequent calls

to the API WebserviceURL String The WebserviceURL to use for subsequent calls to the

API. See Appendix 6.6 for an example of how to use a specific URL.

WebserviceURLPrefix Integer The prefix of the WebserviceURL to use for subsequent calls to the API

5.3 SundryBasic

Property Type Description SundryId Integer The ID of the Sundry Description String The name of the Sundry UnitPrice Decimal The price per unit of the Sundry GLCodeId Integer The General Ledger ID of the Sundry GLCode String The General Ledger Description of the Sundry CreditNote Boolean Whether the Sundry is a Credit Note

5.4 PropertyBasic

Property Type Description PropertyId Integer The ID of the Property in the RMS database PropertyName String The Name of the Property RMSClientId Integer The RMSClientID of the Property. This may be different

to the RMSClientId of the Master Property in a Multi Property database.

5.5 CategoryBasic

Property Type Description CatId Integer The ID of the Category in the RMS database Category String The Name of the Category CategoryClass CategoryClass Whether the Category is Accomm or Facility.

5.6 AreaBasic

Property Type Description AreaId Integer The ID of the Area in the RMS database Area String The Name of the Area

5.7 AreaDetail

Property Type Description AreaId Integer The Id of the area Area String The name of the area CategoryId Integer The Id of the category associated with the area PropertyId Integer The Id of the property MaxOccupants Integer The maximum occupancy of the area CleanStatus Enum

CleanStatus The clean status of the areas, value can be VacantClean, VacanDirty, OccupiedOld, Occupied, VacantInstpect or Maintenance

RMS Public Interface Specification

Page 16

Description String The description of the area AreaStats Boolean Whether the area has stats or not Spare1 String User definable spare field 1 on the Area Spare2 String User definable spare field 2 on the Area Spare3 String User definable spare field 3 on the Area Spare4 String User definable spare field 4 on the Area Spare5 String User definable spare field 5 on the Area Spare6 String User definable spare field 6 on the Area Spare7 String User definable spare field 7 on the Area Spare8 String User definable spare field 8 on the Area Spare9 String User definable spare field 9 on the Area Spare10 String User definable spare field 10 on the Area Ext String Length Single Width Single Inactive Boolean ListOfAttributes List of

(AttributeLite) The list of attributes associated with the area

GLCodeId Integer The Id of the GL Code GLCode String The name of the GL Code StatisticsStatus Boolean Whether the statistic status is enable or not Interconnecting Boolean Whether the area is interconnecting or not Floor String The name of the floor DisplayOrder Integer The display order of the area on the list CreatedDate Date The created date of the area ModifiedDate Date The last modified date of the area PetsAllowed Boolean Whether the area has pets allowed or not SmokingAllowed Boolean Whether the area has smoking allowed or not

5.8 CreditCardBasic

Property Type Description CardId Integer The ID of the Credit Card in the RMS database CreditCard String The description of the Credit Card

5.9 TransactionRequest

Property Type Description DateOfNow Date The current date at location of the transactions. Source Enum (TransactionSource) The source of the transactions (POS, PABX etc) Transactions Listof Classes (Transaction) The list of transactions to post

5.10 TransactionResult

Property Type Description TransId Integer RMS assigned unique transaction ID. This will

be 0 if the transaction failed. Transaction Class (Transaction) The transaction class sent in the Request

5.11 Transaction

Property Type Description TransactionType

Enum (TransactionType) Type of transaction. (Charge or Receipt)

AccId Integer The Account Id of the account the transaction is posted too. This will usually be retrieved from a Client or Reservation

AccountType Enum (AccountType) The account the transaction is posted to (Accom, Extras, PABX, Internet etc)

DateOfTransaction Date Date of the transaction Description String (70) Description for the transaction Comment String (100) Additional comments for the transaction Amount Decimal Amount of the transaction SundryId Integer Id of the Sundry Charge for this Transaction ReceiptType Enum (ReceiptType) Type of Receipt (Cash, Cheque, Credit Card etc) CardId Integer Id of the Credit Card Type used for this

transaction UniqueId Integer The unique id from the calling application

RMS Public Interface Specification

Page 17

5.12 SystemLabelsScreenData

Property Type Description lblClient String The label used for Client’s / Guest’s lblArea String The label used for Area’s lblResType String The label used for Restype‘s lblTariff String The label used for Tariff‘s lblCompany String The label used for Companies lblGroupname String The label used for Groupname lblBookingSource String The label used for Booing Sources‘s lblInfant String The label used for Infant‘s lblDwelling String The label used for Dwelling‘s lblHold String The label used for Hold Records (R&R) lblCoordinatorOne String The label used for Coordinator One lblCoordinatorTwo String The label used for Coordinator Two lblResNote String The label used for Res Note’s lblHousekeeperNote String The label used for Housekeeper Note‘s lblPostalSort String The label used for Post Sort lblReservation String The label used for Reservations lblCategory String The label used for Categories lblArrive String The label used for Arrive on the Res lblDepart String The label used for Depart on the Res lblABN String The label used for ABN lblClientStatus String The label used for Client Status lblVoucherNo String The label used for Voucher’s lblActivity String The label used for Activities lblTravelAgent String The label used for Travel Agent’s lblGST String The label used for Tax (GST, VAT etc) lblEFTPOS String The label used for EFTPos lblAccom String The label used for the Accommodation account lblExtras String The label used for the Extras account lblAdditionalTariff1 String The label used for Additional Tariff 1 lblAdditionalTariff2 String The label used for Additional Tariff 2 lblAdditionalTariff3 String The label used for Additional Tariff 3 lblAdditionalTariff4 String The label used for Additional Tariff 4 lblAdditionalTariff5 String The label used for Additional Tariff 5 lblAdditionalTariff6 String The label used for Additional Tariff 6 lblAdditionalTariff7 String The label used for Additional Tariff 7 lblSurname String The label used for Surname lblGiven String The label used for Given lblTown String The label used for Town lblPostcode String The label used for Postcode / Zipcode lblBlacklist String The label used for the Client Blacklist field lblClientSpare1 String The label used for Client Spare field 1 lblClientSpare2 String The label used for Client Spare field 2 lblClientSpare3 String The label used for Client Spare field 3 lblClientSpare4 String The label used for Client Spare field 4 lblClientSpare5 String The label used for Client Spare field 5 lblClientSpare6 String The label used for Client Spare field 6 lblClientSpare7 String The label used for Client Spare field 7 lblClientSpare8 String The label used for Client Spare field 8 lblClientSpare9 String The label used for Client Spare field 9 lblClientSpare10 String The label used for Client Spare field 10 lblClientSpare11 String The label used for Client Spare field 11 lblClientSpare12 String The label used for Client Spare field 12 lblClientSpare13 String The label used for Client Spare field 13 lblClientSpare14 String The label used for Client Spare field 14 lblClientSpare15 String The label used for Client Spare field 15 lblClientSpare16 String The label used for Client Spare field 16 lblSpare1 String The label used for Res Spare field 1 lblSpare2 String The label used for Res Spare field 2 lblSpare3 String The label used for Res Spare field 3 lblSpare4 String The label used for Res Spare field 4 lblSpare5 String The label used for Res Spare field 5 lblSpare6 String The label used for Res Spare field 6 lblSpare7 String The label used for Res Spare field 7 lblSpare8 String The label used for Res Spare field 8 lblSpare9 String The label used for Res Spare field 9 lblSpare10 String The label used for Res Spare field 10 lblSpare11 String The label used for Res Spare field 11 lblSpare12 String The label used for Res Spare field 12 lblSpare13 String The label used for Res Spare field 13

RMS Public Interface Specification

Page 18

lblSpare14 String The label used for Res Spare field 14 lblSpare15 String The label used for Res Spare field 15 lblCreditCard String The label used for Credit Card’s lblDirectCredit String The label used for DirectCredit in the system Spare1_Mandatory Boolean Whether Res spare field 1 must have a value when saving a

reservation Spare2_Mandatory Boolean Whether Res spare field 2 must have a value when saving a

reservation Spare3_Mandatory Boolean Whether Res spare field 3 must have a value when saving a

reservation Spare4_Mandatory Boolean Whether Res spare field 4 must have a value when saving a

reservation Spare5_Mandatory Boolean Whether Res spare field 5 must have a value when saving a

reservation Spare6_Mandatory Boolean Whether Res spare field 6 must have a value when saving a

reservation Spare7_Mandatory Boolean Whether Res spare field 7 must have a value when saving a

reservation Spare8_Mandatory Boolean Whether Res spare field 8 must have a value when saving a

reservation Spare9_Mandatory Boolean Whether Res spare field 9 must have a value when saving a

reservation Spare10_Mandatory Boolean Whether Res spare field 10 must have a value when saving a

reservation

5.13 ResRequest

Property Type Description ArriveFrom Datetime Return Reservations Arriving after this date and time ArriveTo Datetime Return Reservations Arriving before this date and time DepartFrom Datetime Return Reservations Departing after this date and time DepartTo Datetime Return Reservations Departing before this date and time CreatedFrom Datetime Return Reservations Created after this date and time CreatedTo Datetime Return Reservations Created before this date and time ModifiedFrom Datetime Return Reservations Modified after this date and time ModifiedTo Datetime Return Reservations Modified before this date and time CheckInFrom Datetime Return Reservations Checked In after this date and time CheckInTo Datetime Return Reservations Checked In before this date and time CheckOutFrom Datetime Return Reservations Checked Out after this date and time CheckOutTo Datetime Return Reservations Checked Out before this date and time ResIdFrom Integer Return Reservations with a ResId greater than this ResIdTo Integer Return Reservations with a ResId less than this ListOfResIds Listof Integer Return only reservations in this list ListOfGrpResIds Listof Integer Return only reservations with a Group Res id in this list ListOfAreaIds Listof Integer Return reservations in this list of Area Ids ListOfAreaNames Listof String Return only reservations in these Area names ListOfCatIds Listof Integer Return reservations in this list of Categories ListOfPropertyIds Listof Integer Return reservations in this list of Properties ListOfClientIds Listof Integer Return reservations where the Primary client matches one

of this list ListOfStatus Listof Enum

(ResStatus) Return reservations with these status’. If not supplied only Arrived, Departed, Confirmed and Unconfirmed will be returned.

IncludeGroupMasterReservations

Boolean Return Group Master reservations. (these should not be counted toward occupancy)

IncludeSecondaryClients

Boolean By default only the primary client is returned for each reservation. Enable this to return all clients.

ResOptionalFieldList

Class OptionalFieldsRes

Which optional Res fields are to be filled in the response

ClientOptionalFieldList

Class OptionalFieldsClient

Which optional Client fields are to be filled in the response

RegoNumber String Return Reservations with this Rego Number attached

5.14 ResResult

Property Type Description ResultCode Enum ResultCode The status of the request. ResultMessage String A description of the result code

RMS Public Interface Specification

Page 19

RecordsFound Integer The number of Records found including secondary clients if requested.

ListOfRes Listof Class (ResRecord)

The reservations that match the search parameters provided

5.15 ResRecord

Property Type Returned by Default

Description

ResId Integer True The Id of the Reservation, this is unique and should be used as the foreign key in 3rd party systems.

GroupResId Integer True The Id of the Group reservation if the Res is part of a group booking. Group masters will have their ResId as the GroupResId

GroupMaster Boolean True Whether the Reservation is a Group Master. Group masters are just used for grouping “real” reservations.

AccountId Integer True The Account Id of the Res. When posting charges, this is the Id that should be used.

Arrive Datetime True Arrival Date of the Reservation Depart Datetime True Departure Date of the Reservation CheckInDate Datetime False Actual Checkin Date of the Reservation CheckOutDate Datetime False Actual CheckOut Date of the Reservation Status Enum ResStatus True Status of the Reservation PrimaryClient Class ClientRecord True Details of the Primary Client attached to

the Reservation ListOfSecondaryClients Listof Class

ClientRecord False Details of Secondary Clients attached to

the Reservation Adults Integer True No of Adults on the Reservation Children Integer False No of Children on the Reservation Infants Integer False No of Infants on the Reservation AreaId Integer True Id of the Area the Reservation is in AreaName String True Name of the Area the Reservation is in CategoryId Integer False Id of the Category the Reservation is in CategoryName

String False Name of the Category the Reservation is in

PropertyId Integer False Id of the Property the Reservation is in PropertyName String False Name of the Property the Reservation is

in CreationDate Datetime False Date the Reservation was created LastModified Boolean False Date the Reservation was last modified RMSOnlineConfirmationNo Integer False If the Reservation was made via RMS

Online, this is the confirmation no sent to the Client at the time of booking

POSOnGroupMaster Boolean False If True, Pos charges should be posted to the Group Master Account Id.

GroupMasterAccountId Integer False The Account Id of the Group Master Reservation. Post charges to this account if POSOnGroupMaster is True

CompanyId Integer False Id of the Company attached to the Reservation

Company String False Name of the Company attached to the Reservation

BookingSourceId Integer False Id of the Booking Source attached to the Reservation

BookingSource String False Name of the Booking Source attached to the Reservation

TravelAgentId Integer False Id of the Travel Agent attached to the Reservation

TravelAgent String False Name of the Travel Agent attached to the Reservation

DiscountCodeId Integer False Id of the Discount attached to the Reservation

DiscountCode String False Name of the Discount attached to the Reservation

ResTypeId Integer False Id of the Res Type attached to the Reservation

ResType String False Name of the Res Type attached to the Reservation

RMS Public Interface Specification

Page 20

SubResTypeId Integer False Id of the Sub Res Type attached to the Reservation

SubResType String False Name of the Sub Res Type attached to the Reservation

RateCodeId Integer False Id of the Rate Code attached to the Reservation

RateCode String False Name of the Rate Code attached to the Reservation

TariffAmount Decimal False The Tariff amount for the Reservation LongTerm Boolean False Whether the Reservation is marked as long

term DepositDateRequired Datetime False The Date the deposit is required DepositAmount Decimal False The Deposit Amount due Note String False Free type note on the Reservation ListOfRegoNumbers ListOf String False List of Rego Numbers attached to the

Reservation ListOfHolds ListOf HoldRecord false List of Hold records for the Reservation. UserDefined1 String False Free type field that the user can define

the meaning of. See System Labels. UserDefined2 String False Free type field that the user can define

the meaning of. See System Labels. UserDefined3 String False Free type field that the user can define

the meaning of. See System Labels. UserDefined4 String False Free type field that the user can define

the meaning of. See System Labels. UserDefined5 String False Free type field that the user can define

the meaning of. See System Labels. UserDefined6 String False Free type field that the user can define

the meaning of. See System Labels. UserDefined7 String False Free type field that the user can define

the meaning of. See System Labels. UserDefined8 String False Free type field that the user can define

the meaning of. See System Labels. UserDefined9 String False Free type field that the user can define

the meaning of. See System Labels. UserDefined10 String False Free type field that the user can define

the meaning of. See System Labels. UserDefined11 Boolean False Boolean field that the user can define

the meaning of. See System Labels. UserDefined12 Boolean False Boolean type field that the user can

define the meaning of. See System Labels. UserDefined13 Boolean False Boolean type field that the user can

define the meaning of. See System Labels. UserDefined14 Datetime False Datetime type field that the user can

define the meaning of. See System Labels. UserDefined15 Datetime False Datetime type field that the user can

define the meaning of. See System Labels. PaymentMode String False Payment Mode BillingInstuctions String False Billing Instruction Activity String False Activity AccountBalance Decimal False Account Balance HouseKeepingNote String False Housekeeping note ListofHouseKeepingTasks ListOf Class

HouseKeepingTaskLite False List of housekeeping tasks

MadeBy String False Name of the user that created the reservation

TariffOnGroup Boolean False Is tariff on group Nights Integer False Number of nights ModifiedBy String False Name of the user that last modified the

reservation BaseTariff Decimal False Base tariff amount Package Decimal False Package amount Accomm Decimal False Accomm amount Extras Decimal False Extras amount OptOutMarketing String False Opt out marketing PaymentAccomm Decimal False Payment accomm amount PaymentExtras Decimal False Payment extra amount ListofCorresspondences Listof Class

Corresspondence False List of correspondences attached to the

reservation TariffPosted Boolean False Is tariff posted DiscountAmount Decimal False Discount amount SecondDiscountCode String False Second discount code SecondDiscountAmount Decimal False Second discount amount

RMS Public Interface Specification

Page 21

ListofRequirements Listof Class RequirementLite

False List of requirements attached to the reservation

ListofReceipts Listof Class ReceiptLite

False List or receipts attached to the reservation

DepositRequiredBy Date False Deposit Required By Date SecondDepositRequiredBy Date False Second Deposit Required By Date RelatedVPSTxId String False Related VPS TxID RelatedVendorTxCode String False Related Vendor TXCode RelatedSecurityKey String False Related Security Key RelatedTxAuthNo String False Related TxAuth Number ListofTariffQuoted Listof Class

TariffQuoted False List of Tariff Quoted attached to the

reservation DailyRevenueBreakDown Listof Class

DailyRevenueBreakDown False List of Daily Revenue Breakdown attached

to the reservation TotalDynamicPrice Decimal False Total Dynamic Price Amount CurrencyCode String False Currency Code RoomMoveHeader Boolean False Is Room move header RoomMoveHeaderId Integer False Room move header ID GuestPortalLink String False Link to access the reservation from guest

portal ListofBeddingConfigs Listof Class

BeddingConfig False List of Bedding Config attached to the

reservation MarketSegmentId Integer False The Id of the market segment MarketSegment String False The name of the market segment SubMarketSegmentId Integer False The Id of the sub market segment SubMarketSegment String False The name of the sub market segment BookingType Enum BookingType False The booking type (Accommodation or Event) BookingSourceGroupingId Integer False The Id of the booking source grouping BookingSourceGrouping String False The name of the booking source grouping CommissionPercentage Decimal False The commission percentage ConfirmedBy Integer False The Id of the user who confirmed the

booking ConfirmedDate Date False The confirmed date CancelledBy Integer False The Id of the user who cancelled the

booking EventStart Date False The event start date EventFinish Date False The event finish date WholesaleId Integer False The Id of the wholesale Wholesale String False The name of the wholesale RateOnGroup Boolean False Is the rate calculated on group or not

5.16 ClientRequest

Property Type Description CreatedFrom Datetime Return Clients Created after this date and time CreatedTo Datetime Return Clients Created before this date and time ModifiedFrom Datetime Return Clients Modified after this date and time ModifiedTo Datetime Return Clients Modified before this date and time Surname String Return Clients with this exact Surname Given String Return Clients with this exact Given name PhoneMobile String Return Clients with this exact Mobile/Cell no. MembershipNo String Return Clients with this exact MembershipNo ListOfPropertyIds Listof Integer Return Clients in this list of Properties ListOfClientIds Listof Integer Return Clients with these Client Id’s ClientOptionalFieldList

Class OptionalFieldsClient

Which optional Client fields are to be filled in the response

UserDefinedFieldNo Integer Which User Defined field to search in UserDefinedFieldValue

String / Integer / Date

The value to search for in the UserDefinedFieldNo assigned above. User defined field types are as follows 1-12 String 13-14 Boolean 15-16 Date

5.17 ClientResult

Property Type Description ResultCode Enum ResultCode The status of the request. ResultMessage String A description of the result code RecordsFound Integer The number of Records found including secondary clients if

requested.

RMS Public Interface Specification

Page 22

ListOfClients Listof Class (ClientRecord)

The clients that match the search parameters provided

5.18 ClientRecord

Property Type Returned by Default

Description

ClientId Integer True The Id of the Client, this is unique and should be used as the foreign key in 3rd party

Given String True Given name of the Client Surname String True Surname of the Client Title String False Title of the Client GroupName String False Group Name of the Client CreationDate Datetime False The date the Client was created LastModified Datetime False The last time the Client was modified Gender String False The Gender of the Client DateofBirth Datetime False Date of Birth of the Client PhoneMobile String False Mobile/Cell no of the Client PhoneBH String False Between Hours number of the Client PhoneAH String False After hours number of the Client Address1 String False Address1 of the Client (usually the street address) Address2 String False Address2 of the Client Suburb String False Suburb of the Client Postcode String False Postcode of the Client Country String False Country of the Client State String False State of the Client Company String False Company the Client is associated to BookingSource String False Booking Source of the Client Email String False Email of the Client AnniversaryDate Datetime False Anniversary Date of the Client InsuranceExpDate Datetime False Insurance Expiry Date of the Client BlackListed Boolean False Black list status of the Client PrivacyNoMailOuts

Boolean False Privacy (No Mail Out) status of the Client. If set to true the client has requested not to receive mail / email.

MembershipNo String False MembershipNo of the Client. This could be a rewards program or another unique number associated to the Client

CurrentReservations

Listof Class (ResRecord)

False A list of the reservations that are currently in house where this client is the Primary Client

CommsPin String false The Pin number stored in RMS against each client. Generally used for 3rd party systems like PABX, Internet.

ClientType Enum ClientType

false The type of Client record. (Client, Staff, Contractor, Owner etc)

ActivitiesDisabled

Boolean false Used if the property does not want this client to use any activities (Phone, Internet, PayTV etc)

ListOfAllowedActivities

List of Enum (ClientActivity)

false The external activities the client is allowed to use (Phone, Internet, PayTV etc)

ConsentToUseCreditCard

Boolean false Whether the client has given permission to charge their credit card.

AccountBalance Decimal false The balance of the client account UserDefined1 String False Free type field that the user can define the meaning of.

See System Labels. UserDefined2 String False Free type field that the user can define the meaning of.

See System Labels. UserDefined3 String False Free type field that the user can define the meaning of.

See System Labels. UserDefined4 String False Free type field that the user can define the meaning of.

See System Labels. UserDefined5 String False Free type field that the user can define the meaning of.

See System Labels. UserDefined6 String False Free type field that the user can define the meaning of.

See System Labels. UserDefined7 String False Free type field that the user can define the meaning of.

See System Labels. UserDefined8 String False Free type field that the user can define the meaning of.

See System Labels. UserDefined9 String False Free type field that the user can define the meaning of.

See System Labels. UserDefined10 String False Free type field that the user can define the meaning of.

See System Labels.

RMS Public Interface Specification

Page 23

UserDefined11 String False Free type field that the user can define the meaning of. See System Labels.

UserDefined12 String False Free type field that the user can define the meaning of. See System Labels.

UserDefined13 Boolean False Boolean field that the user can define the meaning of. See System Labels.

UserDefined14 Boolean False Boolean field that the user can define the meaning of. See System Labels.

UserDefined15 Date False Date field that the user can define the meaning of. See System Labels.

UserDefined16 Date False Date field that the user can define the meaning of. See System Labels.

ListOfClassifications

Listof Integer

False A list of classifications

CurrentReservations

Listof Class ResRecord

False The current reservation of the client

AccountBalance Decimal False The account balance Notes String False The client’s notes LastVisit Datetime False The last visit date of the client NoOfVisits Integer False The total number of visit TotalIncome Double False The total income from the client AvgIncome Double False The average income ResTypeId Integer False The Id of the res type ResType String False The name of the res type SubResTypeId Integer False The Id of the sub res type SubResType String False The name of the sub res type DiscountId Integer False Discount String False Retailer Boolean False LastTariffTypeId Integer False LastTariffType String False CreatedById Integer False CreatedBy String False ModifiedById Integer False ModifiedBy String False PrefAppartmentId Integer False PrefAppartment String False ListOfRequirements

ListOf Class RequirementLite

False

ParkAndUnitOwned String False NoOfNights Integer False GDPRPrivacyOptIn Boolean False EmailOptOut Boolean False SMSOptOut Boolean False EDMFilter1OptOut Boolean False EDMFilter2OptOut Boolean False EDMFilter3OptOut Boolean False MarketingOptOut Boolean False LanguageSpoken String False

5.19 CompanyBasic

Property Type Description CompanyId Integer The ID of the Company in the RMS database Company String The Name of the Company Address String The Address of the Company TradingAs String Optional Trading Name if the company is trading

as something other than the Company Name.

5.20 ClassificationBasic

Property Type Description ClassificationId Integer The ID of the Classification in the RMS database Classification String The Name of the Company

5.21 AllowedToPostChargeRequest

Property Type Description ClientId Integer The ID of the Client

RMS Public Interface Specification

Page 24

MembershipNo String The Membership No of the Client Activity Enum

ClientActivity The activity the client is trying to perform. If no activity is supplied only the current reservation check will be performed

5.22 AllowedToPostChargeResponse

Property Type Description AllowedToPostCharge Boolean Whether the client is allowed to post a charge AccountId Integer The account id to post the charge to CurrentBalance Decimal The current outstanding balance of the client account CreditLimit Decimal The credit limit for the property Reason String The reason why the client is not allowed to post

charges ListOfAllowedActivities List of Enum

(ClientActivity) The list of external activities the client is allowed to use.

5.23 AvailabilityRequest

Property Type Description DateOfNow DateTime The current date and time. ListOfPropertyIds List of Integer List of properties to check for availability. ListOfCategoryIds List of Integer List of categories to check for availability. StartingPeriod DateTime The starting period to check for availability. EndingPeriod DateTime The ending period to check for availability. OnlyCleanAreas Boolean Only return areas where the room is clean. This will

be helpful if required a room immediately.

5.24 AvailabilityResponse

Returned: Either a list of the AvailabilityResponse class is returned or nothing.

Property Type Description CategoryID Integer The available category id. Category String The available category name. PropertyID Integer The property id for which the category belongs to. PropertyName String The property name for which the category belongs

to. NoOfAvailableAreas Integer The number of rooms available for the category. ListOfAvailableAreas Class

(AvailableAreas) The list of available areas for the category.

5.25 AvailableAreas

Property Type Description AreaID Integer The area id. Area String The area name. AreaDescription Integer The area description. CleanStatus String The clean status of the area.

5.26 SaveClientRequest

Property Type Description DateOfNow Datetime The current date at location of the module Client Class

(ClientRecord) The client record to create or update.

5.27 CompanyLite

Property Type Description CompanyId Integer The unique Company Id. CompanyName String The company’s Name. ABN String The company’s ABN. Address1 String The company’s address 1 Address2 String The company’s address 2 Address3 String The company’s address 3 Address4 String The company’s address 4 State String The state the company resides. Postcode String The postcode (zip code) where the company resides. Contact String The main contact person for the company. ContactPosition String The contacts position in the company.

RMS Public Interface Specification

Page 25

Phone String The company’s phone number. Fax String The company’s fax number. Email String The company’s email address. WebAddress String The company’s website address. ACN String The company’s ACN. Country String The company’s country CreditHold Boolean Whether the company has credit hold or not BookingSource String The booking source DateCreated Datetime The created date of the company record LastVisit Datetime NoOfVisits Integer TotalIncome Double AvgIncome Double Notes String Inactive Boolean Code String Spare1 String Spare2 String Spare3 String Spare4 String Spare5 String CityMasterId Integer CityMaster String InactiveReason String CreditLimit Decimal SendARToHeadOffice Boolean ParentId Integer BillingNote String AccountId Integer TradingAs String

5.28 SaveCompanyRequest

Property Type Description DateOfNow Datetime The current date at location of the module Company Class

(CompanyLite) The company record to create or update.

5.29 TravelAgentLite

Property Type Description AgentID Integer The unique Agent Id. Agent String The agent’s Name. Address1 String The agent’s address 1 Address2 String The agent’s address 2 Address3 String The agent’s address 3 Address4 String The agent’s address 4 State String The state the agent’s resides. Postcode String The postcode (zip code) where the agent’s resides. Phone String The agent’s phone number. Fax String The agent’s fax number. Email String The agent’s email address. GLCodeID Integer The agent’s GL Code Id. InActive Boolean Is the agent active or not. CompaniesAssociatedToAgent

Class (TravelAgentCompanyAssociations)

Companies associated to the Agent.

Country String The agent’s country Notes String The agent’s notes Wholesaler Nullable(of

Boolean) Is the agent wholesaler or not

CityMasterId Integer The Id of the City Master CityMaster String The City Master Name IATANumber String The IATA Number InactiveReason String The agent’s inactive reason TradingAs String The agent’s trading name CommissionRateByProperty

Decimal The agent’s commission rate by property

ChargeBack Boolean If the agent has charge back or not ParentId Integer The Id of the parent agent BillingNote String The agent’s billing note AccountId Integer The agent’s account Id

RMS Public Interface Specification

Page 26

5.30 SaveTravelAgentRequest

Property Type Description DateOfNow Datetime The current date at location of the module Agent Class

(TravelAgentLite)

The travel agent record to create or update.

5.31 TravelAgentCompanyAssociations

Property Type Description CompanyId Integer The unique company Id. PrimaryCompany Boolean The company that is billed.

5.32 HoldLite

Property Type Description HoldId Integer The unique hold Id. ResID Integer The res id related to the hold. FromDate Date The start date for the hold. ToDate Date The end date for the hold. HoldExpired Boolean If true, signifies the hold has expired. ChargeTypeId Integer The charge type id associated to the hold.

5.33 SaveHoldRequest

Property Type Description DateOfNow Datetime The current date at location of the module Hold Class (HoldLite) The hold record to create or update.

5.34 HeldLite

Property Type Description HeldId Integer The unique held Id. CategoryId Integer The category id the held belongs to. AgentId Integer The agent id the held belongs to. If set to 0

identifies internet booking. FromDate Date The start date of the held. ToDate Date The end date of the held. NumberHeld Integer The number of rooms held. Guaranteed Boolean If set to true, rooms are only held for the

particular agent. Release Integer It is the number of days from today that cannot be

booked. Permanent Boolean If true, ignores From and To dates. Held does not

expire. OnlineDefaultAllotment Boolean It is only true for online booking (ie. Agent Id =

0)

5.35 SaveHeldRequest

Property Type Description DateOfNow Datetime The current date at location of the module Held Class (HeldLite) The held record to create or update.

5.36 ClientLite

Property Type Description ClientId Integer When updating a client, the client id of client

to be updated When creating a client, set to zero

Title String Title of the Client Given String Given name of the Client Surname String Surname of the Client Mobile String Mobile/Cell no of the Client Addr1 String Address1 of the Client (usually the street

address) Town String Town/Suburb of the Client State String State of the Client PostCode String Postcode of the Client Email String Email of the Client MembershipNo String Membership No of the Client ClientType Enum ClientType

RMS Public Interface Specification

Page 27

CommsPin String The Pin number stored in RMS against each client. Generally used for 3rd party systems like PABX, Internet.

ActivitiesDisabled Boolean Used if the property does not want this client to use any activities (Phone, Internet, PayTV etc)

ConsentToUseCreditCard Boolean Whether the client has given permission to charge their credit card.

CCToken String Credit Card Token for the client UserDefined11 String Free type field that the user can define the

meaning of. See System Labels. UserDefined15 Date Date field that the user can define the meaning

of. See System Labels. ListOfAllowedActivities List of Enum

(ClientActivity) The external activities the client is allowed to use (Phone, Internet, PayTV etc)

5.37 RegoNumbersRequest

Property Type Description DateOfNow Date The current system date ListOfResIds List of Integer List of Reservation Id's to return results for ListOfRegoNos List of Integer List of Rego No's to return results for ListOfAccessNos List of Integer List of Access No's to return results for DateCreatedFrom Date Return Records Created after this date and time DateCreatedTo Date Return Records Created up to this date and time DateModifiedFrom Date Return Records Modified from this date and time DateModifiedTo Date Return Records Modified up to this date and time

5.38 RegoNumbersResults

Property Type Description ResID Integer The ResId the Rego/Access No is associated to RegoNo String The Rego number AccessNo String The Boomgate Access Number AccessType AccessType Type of Access (InOnly = 0, OutOnly = 1, InOut =

2, InOutWithAntiPassback = 3) ExpiryDate Date The date access expires Status Status Current status (InThePark = 0, OutOfThePark = 1,

NotSure = 2) DateCreated Date The date the record was created DateModified Date The date the record was last modified

5.39 TransListRecord

Property Type Description TransId Integer The unique transaction Id AccountId Integer The account id to post the transaction to ClientId Integer The Id of the client PropertyId Integer The Id of the property ResId Integer The Id of the reservation SundryId Integer The Id of the Sundry Charge for this Transaction DateOfTrans Date The Date of the transaction DateCreated Date The date the transaction record was created Description String The Description for the transaction Amount Decimal Amount of the transaction GlCodeId Integer The transaction GL Code Id GlCodeDesc String The description of the transaction GL Code Id TransactionType Enum

TransListRecordType Type of transaction. (Charge or Receipt)

ReceiptType Enum ReceiptType Type of receipt. (Cash, Cheque, Credit Card etc) LinkPointer Integer Link Pointer value Void Boolean Is the transaction void or not CurrencyCode String The currency code used in the transaction GLCodeGrouping String The name of the GL Code Grouping TaxAmount Decimal The tax amount of the transaction CreditCardType String The credit card type for the transaction

5.40 TransListRequest

RMS Public Interface Specification

Page 28

Property Type Description TransIdFrom Integer Return transactions with a TransId greater than

this TransIdTo Integer Return transactions with a TransId less than

this CreatedFrom Date Return transactions Created after this date and

time CreatedTo Date Return transactions Created before this date and

time DateOfTransFrom Date Return transactions with applied date after this

date and time DateOfTransTo Date Return transactions with applied date before

this date and time ListOfResIds List of Integer Return transactions from reservations on this

list ListOfAccountIds List of Integer Return transactions have accounts on this list ListOfClientIds List of Integer Return transactions where the Primary client

matches one of this list

5.41 TransListResult

Property Type Description ResultCode Enum ResultCode The status of the request ResultMessage String A description of the result code RecordsFound Integer The number of Records found ListOfTrans List of Class

(TransListRecord) The transactions that match the search parameters provided

5.42 ResLite

Property Type Returned by Default

Description

ResId Integer True The Id of the Reservation, this is unique and should be used as the foreign key in 3rd party systems.

ClientId Integer True The ID of the Client Arrive Datetime True Arrival Date of the Reservation Depart Datetime True Departure Date of the Reservation Status Enum ResStatus True Status of the Reservation Adults Integer True No of Adults on the Reservation Children Integer False No of Children on the Reservation Infants Integer False No of Infants on the Reservation AreaId Integer True Id of the Area the Reservation is in CatId Integer False Id of the Category the Reservation is in PropertyId Integer False Id of the Property the Reservation is in AltId Id of the Rate the Reservation is using CompanyId Integer False Id of the Company attached to the Reservation BookingSourceId Integer False Id of the Booking Source attached to the

Reservation TravelAgentId Integer False Id of the Travel Agent attached to the

Reservation DiscountCodeId Integer False Id of the Discount attached to the Reservation ResTypeId Integer False Id of the Res Type attached to the Reservation SubResTypeId Integer False Id of the Sub Res Type attached to the

Reservation LongTerm Boolean False Whether the Reservation is marked as long term Notes String False Free type note on the Reservation UserDefined1 String False Free type field that the user can define the

meaning of. See System Labels. UserDefined2 String False Free type field that the user can define the

meaning of. See System Labels. UserDefined3 String False Free type field that the user can define the

meaning of. See System Labels. UserDefined4 String False Free type field that the user can define the

meaning of. See System Labels. UserDefined5 String False Free type field that the user can define the

meaning of. See System Labels. UserDefined6 String False Free type field that the user can define the

meaning of. See System Labels. UserDefined7 String False Free type field that the user can define the

RMS Public Interface Specification

Page 29

meaning of. See System Labels. UserDefined8 String False Free type field that the user can define the

meaning of. See System Labels. UserDefined9 String False Free type field that the user can define the

meaning of. See System Labels. UserDefined10 String False Free type field that the user can define the

meaning of. See System Labels. UserDefined11 Boolean False Boolean field that the user can define the

meaning of. See System Labels. UserDefined12 Boolean False Boolean type field that the user can define the

meaning of. See System Labels. UserDefined13 Boolean False Boolean type field that the user can define the

meaning of. See System Labels. UserDefined14 Datetime False Datetime type field that the user can define

the meaning of. See System Labels. UserDefined15 Datetime False Datetime type field that the user can define

the meaning of. See System Labels. GroupAllotmentAgentId Integer False The Id of group allotment agent

5.43 SaveResRequest

Property Type Description DateOfNow Enum ResultCode The status of the request PrimaryClientId String A description of the result code Reservations List of Class

(ResLite) Reservations that need to save

5.44 SaveResResult

Property Type Description GrpResId Integer The Id of the Group reservation if the Res is part of a

group booking. Group masters will have their ResId as the GroupResId

ResId Integer The Id of the Reservation, this is unique and should be used as the foreign key in 3rd party systems.

ClientId Integer The ID of the Client AccId Integer The Account Id of the account the transaction is posted

too. This will usually be retrieved from a Client or Reservation

CatId Integer Id of the Category the Reservation is in AreaId Integer Id of the Area the Reservation is in Arrive Date Arrival Date of the Reservation Depart Date Departure Date of the Reservation AgentId Integer Id of the Agent attached to the Reservation UserDefined10 String Free type field that the user can define the meaning

of. See System Labels. ResStatus Enum ResStatus Status of the Reservation

5.45 AuditTrailRequest

Property Type Description DateFrom Date Return audit trails created after this date and time DateTo Date Return audit trails created before this date and time ListOfResId List of Integer Return audit trails from reservations on this list ListOfPropertyId List of Integer Return audit trails from properties on this list

5.46 AuditTrailRecord

Property Type Description Id Integer The Id of the audit trail record CreatedDate Date The created date of the audit trail record. ResId Integer The Id of the Reservation FieldModified String The name of the field that is modified OldValue String Old value of the field

RMS Public Interface Specification

Page 30

NewValue String New value of the field UserId String The Id of the user who modified the value Reason String Reason of the modification

5.47 UserMessageRequest

Property Type Description ListOfMessageId List of Integer Return user messages have Ids on this list ListOfResId List of Integer Return user messages from reservations on this list ListOfPropertyId List of Integer Return user messages from properties on this list DateFrom Date Return user messages created after this date and time DateTo Date Return user messages created before this date and

time ListOfMessageStatus List of Enum

MessageStatus Return user messages have status on this list (NotRead, HasBeenRead)

ListOfNotifyOn List of Enum MessageWhenToAction

Return user messages have notify on rules on this list (Reservation, CheckIn, CheckOut, Confirmation, Cancellation)

5.48 SaveUserMessageRequest

Property Type Description DateOfNow Date The current date and time UserMessage UserMessage User message that needs to save

5.49 UserMessage

Property Type Description MessageId Integer The Id of the user message Description String Description ResId Integer The Id of the Reservation PropertyId Integer The Id of the Property CreatedDate Date The date that the user message is created CreatedById Integer The Id of the user that created the message GuestId Integer The Id of the guest NotifyOn Enum

MessageWhenToAction The Notify On rules (Reservation, CheckIn, CheckOut, Confirmation, Cancellation)

Status Enum MessageStatus The status of the message (NotRead, HasBeenRead)

5.50 SaveDocumentRequest

Property Type Description GuestId Integer The current date and time RMSClientNo Integer User message that needs to save ResId Integer The Id of the Reservation AgreementDate Date Agreement Date InsuranceExpiryDate Date Insurance Expiry Date AuxDocumentDate Date Aux. Document Date ListOfDocument List of Class

(Document) Documents that need to be saved

5.51 Document

Property Type Description DocumentId Integer The ID of the document UploadDate Date Upload Date DocumentName String The Name of the document DocumentContent Byte() Binary data of the uploaded document Note String Note

5.52 DocumentResult

Property Type Description ListOfDocument List of Class

(Document) Documents that are saved

RMS Public Interface Specification

Page 31

5.53 GetCompanyRequest

Property Type Description ListofCompanyIds Integer Return companies have Ids on this list ListofCompanyNames Date Return companies have Names on this list Spare1 String Return companies have a specific Spare 1 value Spare2 String Return companies have a specific Spare 2 value Spare3 String Return companies have a specific Spare 3 value Spare4 String Return companies have a specific Spare 4 value Spare5 String Return companies have a specific Spare 5 value Code String Return companies have a specific Code value CompIdFrom Integer Return companies with a Id greater than this CompIdTo Integer Return companies with a Id less than this

5.54 CompanyResult

Property Type Description ResultCode Enum ResultCode The status of the request. ResultMessage String A description of the result code RecordsFound Integer The number of Records found ListOfCompanies Listof Class

(CompanyLite) The companies that match the search parameters provided

5.55 GetRateRequest

Property Type Description ListofChargeIds Integer Return rates have Ids on this list

ChargeTypeName Date Return rates have Names on this list

ChargeTypeIdFrom String Return rates with a Id greater than this

ChargeTypeIdTo String Return rate with a Id less than this

5.56 RateResult

Property Type Description ResultCode Enum ResultCode The status of the request. ResultMessage String A description of the result code RecordsFound Integer The number of Records found ListOfRates Listof Class (Rate) The rates that match the search parameters provided

5.57 BeddingConfig

Property Type Description ConfigId Integer The ID of the config record BedConfig String A description of the bed config BedConfigId Integer The ID of the associated bed config Qty Integer Number of bed used

5.58 PropertyDetail

Property Type Description PropertyId Integer The Id of the property PropertyName String The name of the property RMSClientNo Integer The RMS Client Number GrpId Integer The Id of the property grouping TimeZoneId Integer Timezone Id PropertyCode String The property code AddressLine1 String The address line of the property City String The city of the property State String The state of the property Postcode String The post code of the property Phone String The phone of the property Email String The email of the property Grouping String The grouping name PricingOption Enum of

DynamicPricingOption

The pricing option enum (Use Room Type or Use Property)

ListOfAttributes ListOf Class AttributeLite

List of attributes associated with the property

AddressLine2 String The address line 2 of the property (usually it will be City)

RMS Public Interface Specification

Page 32

AddressLine3 String The address line 3 of the property AddressLine4 String The address line 4 of the property ABN String The ABN of the property TaxLabel String The name of the tax BankAccountNo String The bank account number BSB String The branch number AccountingDate Date The accounting date Longitude String The longitude of the property Latitude String The latitude of the property PhoneBH String The phone BH number of the property Mobile String The mobile number of the property

5.59 AttributeLite

Property Type Description Id Integer The Id of the attribute Description String The description of the attribute

5.60 TaxLite

Property Type Description Id Integer The Id of the tax Description String The description of the tax

5.61 BookingSourceLite

Property Type Description BookingSourceId Integer The Id of the booking source Name String The name of the booking source Code String The code of the booking source Address1 String The address line 1 of the booking source Address2 String The city of the booking source State String The state of the booking source PostCode String The state of the booking source Phone String The phone number of the booking source Fax String The fax number of the booking source Notes String The note of the booking source ShowInRMSOnline Boolean If the booking source is visible in RMS Online or not InActive Boolean If the booking source is inactive GroupId Id The Id of the grouping associated with the booking source Grouping String The name of the grouping

5.62 GLCodeDetail

Property Type Description GLCodeId Integer The Id of the GL Code GLCode String The name of the GL Code Description String The description of the GL Code GroupingId Integer The Id of the grouping Grouping String The name of the grouping

5.63 SundryChargeDetail

Property Type Description SundryId Integer The ID of the sundry Description String The name of the sundry UnitPrice Decimal The price per unit of the sundry GLCodeId Integer The General Ledger ID of the sundry GLCode String The General Ledger Description of the sundry CreditNote Boolean Whether the sundry is a Credit Note HasTaxes Boolean Whether the sundry has taxes or not BarCode String The bar code of the sundry SecondCurrency Decimal The unit price in the second currency CurrencyView Enum

CurrencyView The currency view of the sundry, it can be Local currency, US currency or UK one

GroupingId Integer The Id of the grouping Grouping String The name of the grouping CostPrice Decimal The cost price of the sundry InActive Boolean Whether the sundry is inactive or not

RMS Public Interface Specification

Page 33

5.64 ContactDetail

Property Type Description ContactId Integer The Id of the contact CompanyId Integer The Id of the company associated with the contact TravelAgentId Integer The Id of the travel agent associated with the contact RelationshipName String The relationship of the contact Surname String The surname of the contact Given String The given name of the contact Title String The title of the contact Address1 String The address line of the contact’s address Address2 String The city of the contact’s address Address3 String The address line 2 of the contact’s address Address4 String The address line 3 of the contact’s address State String The state of the contact’s address Postcode String The postal code of the contact’s address PhoneBH String The phone BH number of the contact Fax String The fax number of the contact Mobile String The mobile number of the contact Email String The email of the contact Position String The position of the contact Department String The department of the contact CreatedDate Date The created date of the contact record CreatedBy Integer The id of the user who creates the contact ModifiedDate Date The last modified date of the contact record ModifiedBy Integer The id of the user who last modified the contact

5.65 CategoryDetailRequest

Property Type Description ListOfCatIds List of

Integer Return list of categories that have Id on the list

ListOfPropertyIds List of Integer

Return list of categories that have property Id on the list

AvailableToRMSOnline Enum YesNoNotSet

Return list of categories that are available to RMS Online, the value could be Yes, No or NotSet

IncludeInactive Boolean Whether to include inactive categories on the returned list or not

5.66 CategoryDetail

Property Type Description CatId Integer The Id of the category Category String The name of the category CategoryClass Enum

CategoryClass The category class, it can be Facility, Accom, Activity, Dock, Site or AddOn

PropertyId Integer The Id of the property AllowBookingByCategory Boolean Whether the category can be booked by category level LongDescription String The long description of the category RoomTypeGrouping String The name of the room type grouping AvailableToRMSOnline Boolean Whether the category is available on RMS Online or not GLCodeId Integer The Id of the GL Code GLCodeDesc String The name of the GL Code NoOfAreasToHoldFromRMSOnline Integer The number of areas to hold from RMS Online ListOfAllocatedTaxes List Of

(TaxLite) The list of allocated taxes associated with the category

ListOfAttributes List Of (AttributeLite)

The list of attributes associated with the category

InActive Boolean Whether the category is inactive or not Interconnecting Boolean Whether the category is interconnected category or not Occupancy Integer The number of the occupancy DisplayOrder Integer The display order of the category on the list

5.67 AreaRequest

Property Type Description DateOfNow Date The request date ModifiedFrom Date Return list of areas that are modified from the given

date ModifiedTo Date Return list of areas that are modified before the given

date ListOfAreadIds List of

Integer Return list of areas that have Id on the list

RMS Public Interface Specification

Page 34

ListOfCatIds List of Integer

Return list of areas that have category Id on the list

ListOfPropertyIds List of Integer

Return list of areas that have property Id on the list

ListOfCleanStatus List of (Enum CleanStatus)

Return list of areas that have clean status on the list. Values are VacantClean, VacanDirty, OccupiedOld, Occupied, VacantInstpect and Maintenance

IncludeInactiveAreas Boolean Whether to include inactive areas on the returned list or not

5.68 ResTypeBasic

Property Type Description ResTypeId Integer The Id of the res type ResType String The name of the res type InActive Boolean Whether the res type is inactive or not

5.69 SubResType

Property Type Description ResTypeId Integer The Id of the parent res type ResType String The name of the parent res type SubResTypeId Integer The Id of the sub res type SubResType String The name of the sub res type Inactive Boolean Whether the sub res type is inactive or not

5.70 MarketSegment

Property Type Description MarketSegmentId Integer The Id of the market segment Description String The description of the market segment Code String The code of the market segment ShortDescription String The short description of the market segment SubType Boolean Whether the market segment is a sub type or not Parent Integer The Id of the parent market segement, it is 0 if the

market segment is not a sub type Inactive Boolean Whether the market segment is inactive or not

5.71 Rate

Property Type Description ChargeTypeId Integer The Id of the rate Description String The description of the rate TariffGrid Boolean Whether the rat has tariff grid or not LongDescription String The long description of the rate OnlineBookingPageTariffDisplay String The online booking page tariff display DiscountId Integer The Id of the discount associated with the rate DiscountName String The name of the discount NoDiscountAllowed Boolean Whether no discount allowed or not RateType Enum RateType The rate type. Values can be Standard, Linked, Master

or BARMulti Inactive Boolean Whether the rate is inactive or not GLCodeId Integer The Id of the GL Code associated with the rate GLCode String The name of the GL Code Code String The code field of the rate GroupingId Integer The Id of the grouping Grouping String The grouping name TariffDescription String The description of the tariff CancellationPolicy String The cancellation policy ContractedRate Boolean Whether the rate is contracted rate or not RackRate Boolean Whether the rate is rack rate or not LinkedChargeTypeId Integer The Id of the linked charge type RateStructure Enum of

RateStructure The rate structure, it can be Direct or OTA

5.72 RateDetailRequest

Property Type Description ListOfRateId List of

Integer Return list of rates that have Id on the list

ListOfRateCode List of String

Return list of rates that have code on the list

RMS Public Interface Specification

Page 35

StartingPeriod DateTime The starting period to check for rate period. EndingPeriod DateTime The ending period to check for rate period.

5.73 RateDetail

Property Type Description AltId Integer The Id of the rate AltDescription String The description/name of the rate AltCode String The rate code AltTariffDescription String The tariff description AltLongDescription String The long description AltRackRate Boolean Whether the rate is rack rate AltRateGrouping String The grouping of the rate PropertyId Integer The Id of the property RoomTypeId Integer The Id of the room type RoomType String The name of the room type PeriodId Integer The Id of the rate period PeriodDescription String The description/name of the rate period PeriodFrom DateTime The starting period to check for rate period PeriodTo DateTime The ending period to check for rate period ChargeId Integer The Id of the charge ChargeDescription String The charge description BaseAdult Integer The number of base adult BaseChild Integer The number of base child BaseAnimal Integer The number of base animal RateType Enum RateType The rate type. The value can be Standard, Linked,

Master or BARMulti Night1 Decimal The rate amount fields Night2 Decimal Night3 Decimal Night4 Decimal Night5 Decimal Night6 Decimal Night7 Decimal AfterNight7 Decimal ExtraAdult Decimal ExtraInfant Decimal ExtraAnimal Decimal FirstAdditionalAdult Decimal SecondAdditionalAdult Decimal ThirdAdditionalAdult Decimal FourthAdditionalAdult Decimal FirstAdditionalChild Decimal SecondAdditionalChild Decimal ThirdAdditionalChild Decimal FourthAdditionalChild Decimal FirstAdditionalInfant Decimal SecondAdditionalInfant Decimal ThirdAdditionalInfant Decimal FourthAdditionalInfant Decimal FirstAdditionalAnimal Decimal SecondAdditionalAnimal Decimal ThirdAdditionalAnimal Decimal FourthAdditionalAnimal Decimal ListOfPackages List of

(Package) The list of packages

5.74 Package

Property Type Description LinkType Enum

PackageLink The link type. The value can be RateType or Charge

SundryID Integer The Id of the sundry SundryName String The sundry name Amount Decimal The amount of the package PerAdultFee Decimal The fee amount per adult PerChildFee Decimal The fee amount per child GLCodeID Integer The Id of the GL Code GLCode String The GL Code Name

RMS Public Interface Specification

Page 36

6 Appendix B – VB.NET Examples

6.1 Adding the Web Service Reference

6.1.1 Ensure Collection Type is set to Generic List as shown below (Visual Studio 2010)

6.1.2 Allowing the Web service to use large amounts of data.

The following must be configured in your applications app.config file. The GREEN text must be changed from the default settings Endpoint Configuration <endpoint address="https://api.rms.com.au/RMSPublicService/RMSPublicService.ServiceLibrary.svc" behaviorConfiguration="RMSPublicBehavior" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_RMSPublicService" contract="RMSPublic.PublicService" name="BasicHttpBinding_RMSPublicService" />

Binding Configuration <binding name="BasicHttpBinding_RMSPublicService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"

allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"

maxBufferSize="100000000" maxBufferPoolSize="524288" maxReceivedMessageSize="100000000" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">

<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />

<security mode="Transport"> <transport clientCredentialType="None" proxyCredentialType="None" realm="" />

<message clientCredentialType="UserName" algorithmSuite="Default" /> </security>

</binding>

Behaviour Configuration <behavior name="RMSPublicBehavior" > <dataContractSerializer maxItemsInObjectGraph="1000000000" /> </behavior>

6.2 Retrieve Token and Property Name Dim sToken As String Dim oRMSPublic As New RMSPublic.PublicServiceClient Dim sClientPassword As String Dim nRMSClientNo As Integer Dim nAgentId As Integer Dim sAgentPwd As String Dim bTrainingDatabase As Boolean Try 'Defaults nRMSClientNo = [RMS Client No] sClientPassword = [ClientPwd] nAgentId = [AgentId]

RMS Public Interface Specification

Page 37

sAgentPwd = [AgentPassword] bTrainingDatabase = False 'Get Connection String sToken = oRMSPublic.GetToken(nRMSClientNo, sClientPassword, nAgentId, sAgentPwd, bTrainingDatabase) 'Test Property Name MsgBox(oRMSPublic.GetPropertyName(sToken)) Catch ex As Exception MsgBox(ex.Message) End Try

6.3 Transactions

6.3.1 Create a Charge Transaction

Dim oTrans As New RMSPublic.SerialisedClasses.Transaction With oTrans

.TransactionType = RMSPublic.Functions.TransactionType.Charge

.AccId = nAccId

.Amount = 99

.SundryId = 5

.AccountType = Data.Manager.Account.AccountType.Accomm .Desciption = "Test Charge" 'If not supplied Description will come from the Sundry .DateOfTransaction = Now 'If not supplied system will use Accounting Date .UniqueId = 1 'Your Internal Ref No (Optional)

End With lstOfPOSTransactions.Add(oTrans)

6.3.2 Create a Cash Receipt Transaction

Dim oTrans As New RMSPublic.SerialisedClasses.Transaction With oTrans

.TransactionType = RMSPublic.Functions.TransactionType.Receipt

.AccId = nAccId

.Amount = 66

.AccountType = Data.Manager.Account.AccountType.Accomm

.ReceiptType = Data.Manager.Receipt.ReceiptType.Cash

.UniqueId = 2 'Your Internal Ref No (Optional) End With lstOfPOSTransactions.Add(oTrans)

6.3.3 Create a Credit Card/Eftpos Receipt Transaction

Dim oTrans As New RMSPublic.SerialisedClasses.Transaction With oTrans

.TransactionType = RMSPublic.Functions.TransactionType.Receipt

.AccId = nAccId

.Amount = 34

.AccountType = Data.Manager.Account.AccountType.Accomm

.ReceiptType = Data.Manager.Receipt.ReceiptType.EftPos

.CardId = 1 'The Credit Card ID that Identifies the Card ie Amex,Visa etc (Use GetListOfCreditCards()) .UniqueId = 3 'Your Internal Ref No (Optional)

End With lstOfPOSTansactions.Add(oTrans)

6.3.4 Post Transaction

'Build Request oRequest = New RMS.FunctionLibrary.RMSPublic.SerialisedClasses.TransactionRequest With oRequest

.DateOfNow = Now

.Source = RMSPublic.Functions.TransactionSource.PointOfSale

.Transactions = lstOfPOSTransactions End With 'Write Out POS Charges oResult = oRMSPublic.ProcessTransactions(sToken, oRequest)

6.4 Reservations

6.4.1 Get Reservations Arriving Tomorrow

Dim oResReq As New RMSPublic.ResRequest With oResReq

RMS Public Interface Specification

Page 38

'Res Optional fields oResReq.ResOptionalFieldList = New RMSPublic.OptionalFieldsRes() With .ResOptionalFieldList .CategoryName = True .PropertyId = True .PropertyName = True .Company = True .BookingSource = True .DiscountCode = True End With 'Client optional fields oResReq.ClientOptionalFieldList = New RMSPublic.OptionalFieldsClient() With .ClientOptionalFieldList .Suburb = True .Country = True .Company = True .BookingSource = True End With 'Include all the clients, not just the primary .IncludeSecondaryClients = True 'Set search parameters. .ArriveFrom = Now.AddDays(1).Date 'Start of Tomorrow .ArriveTo = Now.AddDays(1).Date & " 23:59:59" 'End of Tomorrow End With Dim oResResult As RMSPublic.ResResult = oRMSPublic.GetListOfReservations(sToken, oResReq) If Not oResResult Is Nothing Then For Each oRes As RMSPublic.ResRecord In oResResult.ListOfRes MsgBox(oRes.ResId) Next End If

6.5 Creating / Updating a Client

6.5.1 Create New Client

Dim oClientRecord As New RMSPublic.ClientLite With oClientRecord .ClientId = 0 .ClientType = RMSPublic.ClientClientType.Client .Title = "MR" .Given = "Fred" .Surname = "Flintstone" .Addr1 = "116 Harrick Rd" .Town = "Melbourne" .State = "VIC" .PostCode = "3000" .Mobile = "03145687" .Email = "[email protected]" .CommsPin = "0000" .ConsentToUseCreditCard = True .CCToken = "" .MembershipNo = "123456789" .ActivitiesDisabled = False .ListOfAllowedActivities = New List(Of RMSPublic.ClientActivity) 'Add all of the activities to the allowed list .ListOfAllowedActivities.Add(KioskServiceLive.ClientActivity.BanNonAlcoholic) .ListOfAllowedActivities.Add(KioskServiceLive.ClientActivity.BarAlcoholic) .ListOfAllowedActivities.Add(KioskServiceLive.ClientActivity.Internet) .ListOfAllowedActivities.Add(KioskServiceLive.ClientActivity.PayPerView) .ListOfAllowedActivities.Add(KioskServiceLive.ClientActivity.PayPerViewAdultsOnly) .ListOfAllowedActivities.Add(KioskServiceLive.ClientActivity.PhoneExternal) .ListOfAllowedActivities.Add(KioskServiceLive.ClientActivity.PhoneInternal) .ListOfAllowedActivities.Add(KioskServiceLive.ClientActivity.Vending) End With oRMSPublic.CreateClient(m_sToken, oClientRecord)

RMS Public Interface Specification

Page 39

6.5.2 Update Existing Client

Dim oClientRecord As RMSPublic.ClientLite 'Retreive the existing Client information using the client id oClientRecord = oRMSPublic.GetClient(m_sToken, nClientId) 'Update some of the data With oClientRecord .Title = "MRS" .Given = "Wilma" .Email = "[email protected]" End With 'Send the new data back to webservice oRMSPublic.UpdateClient(m_sToken, oClientRecord, Now)

6.6 Using the correct Webservice URL to initialise the WCF Client

6.6.1 Initialise PublicServiceClient with custom URL

Private Function InitWebserviceWithURL(ByVal sWebserviceURL As String) As PublicLive.PublicServiceClient

'*** Initialise a PublicServiceClient WCF Client to communicate with the webservice on a custom URL '*** sWebserviceURL is the URL Endpoint of the webservice to connect to Dim oEndpoint As EndpointAddress Dim oBinding As New BasicHttpBinding 'Establish Endpoint oEndpoint = New EndpointAddress(sWebserviceURL) 'Configure Binding With oBinding .Security.Mode = BasicHttpSecurityMode.Transport .MaxReceivedMessageSize = "20000000" .MaxBufferSize = "20000000" .ReaderQuotas.MaxArrayLength = "20000000" .ReceiveTimeout = New TimeSpan(0, 5, 0, 0) .SendTimeout = New TimeSpan(0, 0, 5, 0) End With 'Return new instance of Public Service Client with custom endpoint Return New PublicLive.PublicServiceClient(oBinding, oEndpoint) End Function