GroupService
ReadGroup
ReadGroup is used to read the latest contents of the group records. You can use this to read a group, alter its values then send that object into the SaveGroup message to have it apply your changes.
ReadGroupResponse ReadGroup(ReadGroupRequest request)
Example
<soapenv:Header/>
<soapenv:Body>
<ns:ReadGroup>
<ns:request>
<ns1:ChannelManagerUsername>CMUSERNAME</ns1:ChannelManagerUsername>
<ns1:ChannelManagerPassword>CMPassword</ns1:ChannelManagerPassword>
<ns1:GroupId>999999</ns1:GroupId>
<ns1:GroupUsername>nerdgroup</ns1:GroupUsername>
<ns1:GroupPassword>ngpassword</ns1:GroupPassword>
</ns:request>
</ns:ReadGroup>
</soapenv:Body>
</soapenv:Envelope>
Method Parameters
Field | Data Type | Description |
request | ReadGroupRequest |
ReadGroupRequest
Field | Data Type | Description |
AuthenticationResult | AuthenticationGroupResult | Internal Only |
ChannelManagerUsername | String | Channel Managers Username as supplied when the Channel Manager Agreement was made |
ChannelManagerPassword | String | Channel Managers password as supplied when the Channel Manager Agreement was made |
GroupId | Int64 | The Group Id you intend to work with |
GroupUsername | String | The Username for the Group |
GroupPassword | String | The Password for the Group |
AuthenticationGroupResult
Internal Only
Field | Data Type | Description |
ChannelManagerID | Int64 | |
Authenticated | Boolean | |
ChannelManagerAuthenticationFailed | Boolean | |
GroupId | Int64 | |
ChannelManager | ChannelManager | |
HotelAuthenticationKey | String |
ReadGroupResponse
Field | Data Type | Description |
GroupId | Int64 | Unique Identifier for the Group, if you are creating a group, specify 0 as the value and it will tell our system to insert a new one. |
GroupName | String | Unique Name for the Group |
Authentication | GroupAuthentication | Authentication details. When Calling SaveGroup, set this to null if you want to make no changes. |
PropertyManagementSystemCode | String | PMS Code, use the ContentService StaticData message to find out what choices are available. |
SelfHelpEmailList | String | When issues are found with Channel Processing, we send emails to the following addresses (csv) to suggest solutions that need to be manually implemented by the Property Manager |
SharedSeasonsFlag | Boolean | If you create a season in one property, the other properties in your group will be able to see those too if this is set to true. Otherwise, each property has its own unique season list. |
SendToHomeAwayFlag | Boolean | Some properties are members of many groups. If you set this flag to true, then it means this group will be used as the master group for sending details to HomeAway and AirBnB. |
SourceGroupReferenceId | String | If you have a unique Identifier on your side for this Property Manager / Group, specify that id here for cross reference. |
DefaultResEmailAddress | String | Send any Reservation emails to this address for this group |
BookeasyVcId | Int64 | If you group is attached to a 'Visitor Centre' inside bookeasy, specify that id here. This will allow for properties you create to be transferred over to bookeasy and attached to that group also. |
Properties | List of GroupProperty | Each property that is attached to this group. When saving, if you want one removed, simply remove it from the list and save. If you want to make no changes at all to the list of properties, then pass in null. If you supply an empty list (ie not null), then this will remove every property from your group. Its important to get this right, null and empty produce different behaviors. |
Timestamp | DateTime | |
MessageId | String | |
HotelAuthenticationKey | String |
GroupAuthentication
Authentication details. When Calling SaveGroup, set this to null if you want to make no changes.
Field | Data Type | Description |
UserId | Int64 | The User Id for the Auth record. If you are creating a new group, set this to 0 so it will create a new authentication record |
Username | String | |
Password | String | When you query a Group, this will be missing, we don't return the current password. You can set a new password by setting this value and calling the SaveGroup message. If you want to make no change to the credentials, set this to null |
GroupProperty
Each property that is attached to this group. When saving, if you want one removed, simply remove it from the list and save. If you want to make no changes at all to the list of properties, then pass in null. If you supply an empty list (ie not null), then this will remove every property from your group. Its important to get this right, null and empty produce different behaviors.
Field | Data Type | Description |
Id | Int64 | The HotelId inside Resonline for the property. |
Name | String | The Properties Name. When saving, we will set the name to the value that you supply here, so it will overwrite the existing name on the property. |
MasterUsername | String | The Properties Username used to login directly to that property. When adding a property to your group, you have to specify the username / password that you provided when you created the property |
MasterPassword | String | The Properties Password used to login directly to that property. When adding a property to your group, you have to specify the username / password that you provided when you created the property |
SaveGroup
SaveGroup is used to save the latest contents of the group records. Our advice, Use ReadGroup to get all of the latest information, then call SaveGroup with the results from ReadGroup after you have made your adjustments. SaveGroup is like a merging tool, it will find whats different and apply the changes.
SaveGroupResponse SaveGroup(SaveGroupRequest request)
Example
<soapenv:Header/>
<soapenv:Body>
<ns:SaveGroup>
<ns:request>
<ns1:ChannelManagerUsername>CMUSERNAME</ns1:ChannelManagerUsername>
<ns1:ChannelManagerPassword>CMPassword</ns1:ChannelManagerPassword>
<ns1:GroupId>999999</ns1:GroupId>
<ns1:GroupUsername>nerdgroup</ns1:GroupUsername>
<ns1:GroupPassword>ngpassword</ns1:GroupPassword>
<dir:Group>
<ns:Authentication>
<ns:Password>ngpassword</ns:Password>
<ns:UserId>99999999912</ns:UserId>
<ns:Username>nerdgroup</ns:Username>
</ns:Authentication>
<ns:BookeasyVcId i:nil="true"/>
<ns:DefaultResEmailAddress>test@test.com</ns:DefaultResEmailAddress>
<ns:GroupId>999999</ns:GroupId>
<ns:GroupName>Test Group for Nerds</ns:GroupName>
<ns:Properties>
<ns:GroupProperty>
<ns:Id>123</ns:Id>
<ns:MasterPassword>password1</ns:MasterPassword>
<ns:MasterUsername>username1</ns:MasterUsername>
<ns:Name>Test Property 1</ns:Name>
</ns:GroupProperty>
<ns:GroupProperty>
<ns:Id>124</ns:Id>
<ns:MasterPassword>password2</ns:MasterPassword>
<ns:MasterUsername>username2</ns:MasterUsername>
<ns:Name>Test Property 2</ns:Name>
</ns:GroupProperty>
...
</ns:Properties>
<ns:PropertyManagementSystemCode>Not Listed</ns:PropertyManagementSystemCode>
<ns:SelfHelpEmailList>test@test.com,nerds@test.com</ns:SelfHelpEmailList>
<ns:SendToHomeAwayFlag>true</ns:SendToHomeAwayFlag>
<ns:SharedSeasonsFlag>true</ns:SharedSeasonsFlag>
<ns:SourceGroupReferenceId>YourGroupID</ns:SourceGroupReferenceId>
</dir:Group>
</ns:request>
</ns:SaveGroup>
</soapenv:Body>
</soapenv:Envelope>
To Create a brand new group and attach one property to it
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://cm.schema.com/direct/2.0/" xmlns:ns1="http://cm.schema.com/api-core/2.0/" xmlns:dir="http://schemas.datacontract.org/2004/07/DirectApi.Service.Group.Model" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header/>
<soapenv:Body>
<ns:SaveGroup>
<ns:request>
<ns1:ChannelManagerUsername>RESONLINE</ns1:ChannelManagerUsername>
<ns1:ChannelManagerPassword>ROL</ns1:ChannelManagerPassword>
<ns1:GroupId>0</ns1:GroupId>
<ns1:GroupUsername>nerdstestgroup</ns1:GroupUsername>
<ns1:GroupPassword>nerdstestgrouppw</ns1:GroupPassword>
<dir:Group>
<ns:Authentication>
<ns:Password>nerdstestgrouppw</ns:Password>
<ns:UserId>0</ns:UserId>
<ns:Username>nerdstestgroup</ns:Username>
</ns:Authentication>
<ns:BookeasyVcId i:nil="true"/>
<ns:DefaultResEmailAddress>test@test.com</ns:DefaultResEmailAddress>
<ns:GroupId>0</ns:GroupId>
<ns:GroupName>Nerds Test Group</ns:GroupName>
<ns:Properties>
<ns:GroupProperty>
<ns:Id>123123</ns:Id>
<ns:MasterPassword>propertypassword</ns:MasterPassword>
<ns:MasterUsername>propertyusername</ns:MasterUsername>
<ns:Name>Property name</ns:Name>
</ns:GroupProperty>
</ns:Properties>
<ns:PropertyManagementSystemCode>Not Listed</ns:PropertyManagementSystemCode>
<ns:SelfHelpEmailList i:nil="true"/>
<ns:SendToHomeAwayFlag>true</ns:SendToHomeAwayFlag>
<ns:SharedSeasonsFlag>true</ns:SharedSeasonsFlag>
<ns:SourceGroupReferenceId i:nil="true"/>
</dir:Group>
</ns:request>
</ns:SaveGroup>
</soapenv:Body>
</soapenv:Envelope>
Method Parameters
Field | Data Type | Description |
request | SaveGroupRequest |
SaveGroupRequest
Field | Data Type | Description |
Group | ResonlineGroup | Populate this object with the details of the group you want to save. Best practice when modifying a group, is to use ReadGroup first, and then pass all of the values received into this object for saving. |
AuthenticationResult | AuthenticationGroupResult | Internal Only |
ChannelManagerUsername | String | Channel Managers Username as supplied when the Channel Manager Agreement was made |
ChannelManagerPassword | String | Channel Managers password as supplied when the Channel Manager Agreement was made |
GroupId | Int64 | The Group Id you intend to work with |
GroupUsername | String | The Username for the Group |
GroupPassword | String | The Password for the Group |
ResonlineGroup
Populate this object with the details of the group you want to save. Best practice when modifying a group, is to use ReadGroup first, and then pass all of the values received into this object for saving.
Field | Data Type | Description |
GroupId | Int64 | Unique Identifier for the Group, if you are creating a group, specify 0 as the value and it will tell our system to insert a new one. |
GroupName | String | Unique Name for the Group |
Authentication | GroupAuthentication | Authentication details. When Calling SaveGroup, set this to null if you want to make no changes. |
PropertyManagementSystemCode | String | PMS Code, use the ContentService StaticData message to find out what choices are available. |
SelfHelpEmailList | String | When issues are found with Channel Processing, we send emails to the following addresses (csv) to suggest solutions that need to be manually implemented by the Property Manager |
SharedSeasonsFlag | Boolean | If you create a season in one property, the other properties in your group will be able to see those too if this is set to true. Otherwise, each property has its own unique season list. |
SendToHomeAwayFlag | Boolean | Some properties are members of many groups. If you set this flag to true, then it means this group will be used as the master group for sending details to HomeAway and AirBnB. |
SourceGroupReferenceId | String | If you have a unique Identifier on your side for this Property Manager / Group, specify that id here for cross reference. |
DefaultResEmailAddress | String | Send any Reservation emails to this address for this group |
BookeasyVcId | Int64 | If you group is attached to a 'Visitor Centre' inside bookeasy, specify that id here. This will allow for properties you create to be transferred over to bookeasy and attached to that group also. |
Properties | List of GroupProperty | Each property that is attached to this group. When saving, if you want one removed, simply remove it from the list and save. If you want to make no changes at all to the list of properties, then pass in null. If you supply an empty list (ie not null), then this will remove every property from your group. Its important to get this right, null and empty produce different behaviors. |
Timestamp | DateTime | |
MessageId | String | |
HotelAuthenticationKey | String |
GroupAuthentication
Authentication details. When Calling SaveGroup, set this to null if you want to make no changes.
Field | Data Type | Description |
UserId | Int64 | The User Id for the Auth record. If you are creating a new group, set this to 0 so it will create a new authentication record |
Username | String | |
Password | String | When you query a Group, this will be missing, we don't return the current password. You can set a new password by setting this value and calling the SaveGroup message. If you want to make no change to the credentials, set this to null |
GroupProperty
Each property that is attached to this group. When saving, if you want one removed, simply remove it from the list and save. If you want to make no changes at all to the list of properties, then pass in null. If you supply an empty list (ie not null), then this will remove every property from your group. Its important to get this right, null and empty produce different behaviors.
Field | Data Type | Description |
Id | Int64 | The HotelId inside Resonline for the property. |
Name | String | The Properties Name. When saving, we will set the name to the value that you supply here, so it will overwrite the existing name on the property. |
MasterUsername | String | The Properties Username used to login directly to that property. When adding a property to your group, you have to specify the username / password that you provided when you created the property |
MasterPassword | String | The Properties Password used to login directly to that property. When adding a property to your group, you have to specify the username / password that you provided when you created the property |
AuthenticationGroupResult
Internal Only
Field | Data Type | Description |
ChannelManagerID | Int64 | |
Authenticated | Boolean | |
ChannelManagerAuthenticationFailed | Boolean | |
GroupId | Int64 | |
ChannelManager | ChannelManager | |
HotelAuthenticationKey | String |
SaveGroupResponse
Field | Data Type | Description |
GroupId | Int64 | Unique Identifier for the Group, if you are creating a group, specify 0 as the value and it will tell our system to insert a new one. |
GroupName | String | Unique Name for the Group |
Authentication | GroupAuthentication | Authentication details. When Calling SaveGroup, set this to null if you want to make no changes. |
PropertyManagementSystemCode | String | PMS Code, use the ContentService StaticData message to find out what choices are available. |
SelfHelpEmailList | String | When issues are found with Channel Processing, we send emails to the following addresses (csv) to suggest solutions that need to be manually implemented by the Property Manager |
SharedSeasonsFlag | Boolean | If you create a season in one property, the other properties in your group will be able to see those too if this is set to true. Otherwise, each property has its own unique season list. |
SendToHomeAwayFlag | Boolean | Some properties are members of many groups. If you set this flag to true, then it means this group will be used as the master group for sending details to HomeAway and AirBnB. |
SourceGroupReferenceId | String | If you have a unique Identifier on your side for this Property Manager / Group, specify that id here for cross reference. |
DefaultResEmailAddress | String | Send any Reservation emails to this address for this group |
BookeasyVcId | Int64 | If you group is attached to a 'Visitor Centre' inside bookeasy, specify that id here. This will allow for properties you create to be transferred over to bookeasy and attached to that group also. |
Properties | List of GroupProperty | Each property that is attached to this group. When saving, if you want one removed, simply remove it from the list and save. If you want to make no changes at all to the list of properties, then pass in null. If you supply an empty list (ie not null), then this will remove every property from your group. Its important to get this right, null and empty produce different behaviors. |
Timestamp | DateTime | |
MessageId | String | |
HotelAuthenticationKey | String |
GroupAuthentication
Authentication details. When Calling SaveGroup, set this to null if you want to make no changes.
Field | Data Type | Description |
UserId | Int64 | The User Id for the Auth record. If you are creating a new group, set this to 0 so it will create a new authentication record |
Username | String | |
Password | String | When you query a Group, this will be missing, we don't return the current password. You can set a new password by setting this value and calling the SaveGroup message. If you want to make no change to the credentials, set this to null |
GroupProperty
Each property that is attached to this group. When saving, if you want one removed, simply remove it from the list and save. If you want to make no changes at all to the list of properties, then pass in null. If you supply an empty list (ie not null), then this will remove every property from your group. Its important to get this right, null and empty produce different behaviors.
Field | Data Type | Description |
Id | Int64 | The HotelId inside Resonline for the property. |
Name | String | The Properties Name. When saving, we will set the name to the value that you supply here, so it will overwrite the existing name on the property. |
MasterUsername | String | The Properties Username used to login directly to that property. When adding a property to your group, you have to specify the username / password that you provided when you created the property |
MasterPassword | String | The Properties Password used to login directly to that property. When adding a property to your group, you have to specify the username / password that you provided when you created the property |