This instance is currently being migrated to the new Atlassian One Confluence sytem.
If you can't find your space anymore, it should be already in the new System: https://confluence.weareplanet.com/
Message Description
- Lookup by Member ID w/ Currency for Points
- Receive Membership Info w/ Points & Account Balance in Hotel Currency
IO_LoyaltyAccountInfoRQ - Attributes
protel I/O uses a request and response message pair to asks an external system for the current amount of loyalty points attached to a specific loyalty card. In the response message from the external System the following information is included. The Account Balance is provided always in the Hotel Currency.
- AccountBalance → current amount of points
- AccountChargeLowerLimit → minimum redemption value
- AccountChargeUpperLimit → maximum redemption value
Message Attributes
IO_LoyaltyAccountInfoRQ
Element | @Attribute | Type |
---|
Num | Description outbound |
---|
Comments + Contents outbound | pAir | OnPrem | ||||
---|---|---|---|---|---|---|
IO_LoyaltyAccountInfoRQ | 1 | Root element of the message. | ||||
@EchoToken | string | 0..1 | A reference for additional message identification, assigned by the requesting host system. When a request message includes an echo token the corresponding response message MUST include an echo token with an identical value. | |||
@CorrelationID | string | 1 | Used to match result messages (*RS) to request messages (*RQ) in asynchronous communication patterns. Therefore mandatory. | |||
@TimeStamp | dateTime |
1 | Time of the transaction. | "2019-06-05T09:12:14Z" | ||||
@Version | string | 0..1 | Message version. | Version="3.001" | ||
@PrimaryLangID | string | 0..1 | The primary language preference for the message encoded as ISO 639-3. | |||
IO_LoyaltyAccountInfoRQ | ReadRequests | 0..1 | |||||
---|---|---|---|---|---|---|
@HotelCode | string | 0..1 | Full name of the property which the transferred stay information belongs to. | |||
@HotelID | string | 0..1 | The ID will transfer the HotelID and needs to be agreed by the trading partners and remain the same throughout the messages. | |||
@HotelName | string | 0..1 | Full name of the property which the transferred stay information belongs to. | |||
@ChainCode | string | 0..1 | Full name of the property which the transferred stay information belongs to. | |||
IO_LoyaltyAccountInfoRQ | ReadRequests | LoyaltyReadRequest | 1..n | Loyalty Information | ||||
@CurrencyCode | IOCodeString | 0..1 |
Default Hotel Currency Code | ||||||||
@MemberCode | IOCodeString | 1 | The MemberCode attribute will indicate the actual member number. | |||||
@ProgramCode | string | 1 | The ProgramCode attribute can be used to indicate the program that is being passed. For instance, we could use it to pass: Frequent Guest, Frequent Traveller and Company ID. | |||||
@LevelCode | IOCodeString | 0..1 | Indicates special privileges in program assigned to individual. | |||||
@AccountStatus | IOCodeString | 0..1 | The account status. Refer to Open Travel Code List Profile Status (PST). |
| ||||
@PrimaryInd | boolean | 0..1 | When true, indicates this is the primary customer loyalty program and when false, indicates this is not the primary customer loyalty program. |
|
IO_LoyaltyAccountInfoRQ | ReadRequests | User |
---|
0..1 |
---|
Information of the logged-in user |
---|
@UserName | IOCodeString | 0..1 | Name of the User | |||
@Organisation | string | 0..1 |
Name of the Group the user belongs to | |||
@Department | string | 0..1 |
This field would be used to pass the guest’s GivenName.
Name of the Department from the User | ||||||
IO_LoyaltyAccountInfoRQ | ReadRequests | User | Email | string | 0..1 | This field would be used to pass the guest’s Email. | |||
---|---|---|---|---|---|---|
IO_LoyaltyAccountInfoRQ | ReadRequests | User | |
UserID | 0..1 | This field would be used to pass the guest’s |
---|
Sample Message
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:IO_LoyaltyAccountInfoRQ xmlns:p="http://protel.io/soap" CorrelationID="TRIGGER#000500#UPDATE#000420#1613999060824#E564" Version="1.0" TimeStamp="2021-02-22T13:04:20Z" EchoToken="TRIGGER#000500#UPDATE#000420#1613999060824#E564" PrimaryLangID="en" Target="Test" TargetName="Test">
<p:ReadRequests HotelCode="2535" HotelID="500" HotelName="DEV 2535" ChainCode="n/a">
<p:LoyaltyReadRequest CurrencyCode="CZK" MemberCode="2345754635123" ProgramCode="Lounge Coders Club" LevelCode="HighRoller" AccountStatus="4" PrimaryInd="true">
<p:EffectiveDateBefore>2019-07-04</p:EffectiveDateBefore>
<p:ExpireDateAfter>2019-07-04</p:ExpireDateAfter>
</p:LoyaltyReadRequest>
<p:User UserName="johnD" Organisation="Hotel 2535" Department="dev.protel.net" Occupation="">
<p:FirstName>John</p:FirstName>
<p:LastName>Dev</p:LastName>
<p:Email>jdev@protel.net</p:Email>
</p:User>
</p:ReadRequests>
</p:IO_LoyaltyAccountInfoRQ> |
IO_LoyaltyAccountInfoRS - Attributes
UserID | ||||||
---|---|---|---|---|---|---|
@ID | string | 1 | A unique identifying value assigned by the creating system. In the context of protel IO, this will be the unique hotel ID where the profile was created. | |||
@ID_Context | string | 1 | Used to identify the source of the identifier. For both outbound (from protel IO) and inbound (to protel IO) request messages, this must carry the string value | |||
@Type | IOCodeString | 0..1 | A numeric reference to the type of object defined by the unique ID attribute. Refer to the OTA code lists: Unique ID Type (UIT) |
IO_LoyaltyAccountInfoRS
Element | @Attribute | Type | Num | Description inbound | Comments + Contents inbound |
---|
pAir | OnPrem | |||||
---|---|---|---|---|---|---|
IO_LoyaltyAccountInfoRS | 1 | Root element of the message. | ||||
@EchoToken | string | 0..1 | A reference for additional message identification, assigned by the requesting host system. When a request message includes an echo token the corresponding response message MUST include an echo token with an identical value. | |||
@CorrelationID | string | 1 | Used to match result messages (*RS) to request messages (*RQ) in asynchronous communication patterns. Therefore mandatory. | |||
@TimeStamp |
dateTime | 1 | Time of the transaction. | "2019-06-05T09:12:14Z" | |||
@Version | string | 0..1 | Message version. | Version="3.001" | ||
@PrimaryLangID | string | 0..1 | The primary language preference for the message encoded as ISO 639-3. | |||
IO_LoyaltyAccountInfoRS | Success | boolean | 0..1 | Returning an empty element of this type indicates the successful processing of the message. It could be combined with warning message/s if the message had issue/s. |
| ||
---|---|---|---|---|---|---|
IO_LoyaltyAccountInfoRS | Errors | Error | 0..1 | Indicates an error occurred during the processing of an OpenTravel message. If the message successfully processes, but there are business errors, those errors should be passed in the warning element. |
An error that occurred during the processing of a message.
@ShortText | string |
0..1 | An abbreviated version of the error in textual format. |
@Type | OTA_CodeType EWT |
0..1 |
Mandatory. Refers to the OTA Code List: |
Error Warning Type (EWT). |
| |||||
@Code | OTA_CodeType ERR |
0.. |
1 |
Refers to the OTA Code List: Error Codes (ERR). |
| |||||
IO_LoyaltyAccountInfoRS | Errors | Error | Message | string | 0...1 | Description of the issue | |||
---|---|---|---|---|---|---|
IO_LoyaltyAccountInfoRS | Warnings | Warning | 0..1 | Used in conjunction with the Success element to define one or more business errors. |
@ShortText | string |
0..1 | An abbreviated version of the error in textual format. |
@Type | OTA_CodeType EWT |
0..1 |
Mandatory. Refers to the OTA Code List: |
Error Warning Type (EWT). |
| ||||
@Code | OTA_CodeType ERR |
0.. |
1 |
Refers to the OTA Code List: Error Codes (ERR). |
| |||||
IO_LoyaltyAccountInfoRS | Warnings | Warning | Message | string | 0...1 | Description of the issue | |||
---|---|---|---|---|---|---|
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | 0..1 | |||||
@HotelCode | string | 0..1 | Full name of the property which the transferred stay information belongs to. | |||
@HotelID | string | 0..1 | The ID will transfer the HotelID and needs to be agreed by the trading partners and remain the same throughout the messages. | |||
@HotelName | string | 0..1 | Full name of the property which the transferred stay information belongs to. | |||
@ChainCode | string | 0..1 | Full name of the property which the transferred stay information belongs to. |
IO_LoyaltyAccountInfoRS | LoyaltyReadResults |
---|
| LoyaltyAccount | 1 | |||||||
---|---|---|---|---|---|---|---|---|
@MemberCode | IOCodeString | 1 | The MemberCode attribute will indicate the actual number. | |||||
@ProgramCode | string | 1 | The ProgramCode attribute can be used to indicate the program that is being passed. For instance, we could use it to pass: Frequent Guest, Frequent Traveller and Company ID. | |||||
@LevelCode | IOCodeString | 0..1 | Indicates special privileges in program assigned to individual. | |||||
@AccountStatus | IOCodeString | 0..1 | OTA Code list PST |
| ||||
@PrimaryInd | boolean | 0..1 | When true, indicates this is the primary customer loyalty program and when false, indicates this is not the primary customer loyalty program. |
| ||||
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | CardHolderName | string | 0..1 |
Name of the Membership card | ||||||
---|---|---|---|---|---|---|
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | AccountBalance | 1 | The actual amount available, which can be used for redeeming the points | ||||
@Amount | decimal | 1 | Amount in Points | |||
@Type | string | 1 | Shortname of the Loyalty Program | |||
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | AccountBalance |
@Amount
| CurrencyAmount | 0..1 |
---|
Amount in the default Currency | |||
---|---|---|---|
@ExchangeRate | decimal | 0..1 |
Exchange Rate for the Loyalty Points | decimal Account...@Amount * ExchangeRate = CurrencyAmount@Amount | |||||
@CurrencyCode | string | 1 | Currency Code, from the RQ | |||
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | AccountBalance | CurrencyAmount | Amount | decimal | 1 | Amount in the Currency Code, from the RQ | |||
---|---|---|---|---|---|---|
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | AccountAccrued | 0..1 | Total amount, the collected points | ||||
@Amount | decimal | 1 | Amount in Points | |||
@Type | string | 1 |
Shortname of the Loyalty Program | |||
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | AccountAccrued | CurrencyAmount | 0..1 |
---|
Amount in the default Currency | |||
---|---|---|---|
@ExchangeRate | decimal | 0..1 |
Exchange Rate for the Loyalty Points | ||||
@CurrencyCode | string | 0..1 |
Currency Code, from the RQ | ||||||
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | AccountAccrued | CurrencyAmount | Amount | decimal | 1 | Amount in the Currency Code, from the RQ | |||
---|---|---|---|---|---|---|
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | |
LoyaltyAccount | AccountRedeemed | 0..1 | Total amount of points redeemed | ||||
---|---|---|---|---|---|---|
@Amount | decimal | 1 | Amount in Points | |||
@Type | string | 1 |
Shortname of the Loyalty Program | |||
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | AccountRedeemed | CurrencyAmount | 0..1 |
---|
Amount in the default Currency | |||
---|---|---|---|
@ExchangeRate | decimal | 0..1 |
Exchange Rate for the Loyalty Points | ||||
@CurrencyCode | string | 0..1 |
Currency Code, from the RQ | ||||||
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | AccountRedeemed | CurrencyAmount | Amount | decimal | 1 | Amount in the Currency Code, from the RQ | |||
---|---|---|---|---|---|---|
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | AccountChargeUpperLimit | 0..1 |
Maximum amount of points usable for a single redemption (Account and Invoice) | ||||||
---|---|---|---|---|---|---|
@Amount | decimal | 1 | Amount in Points | |||
@Type | string | 1 | Shortname of the Loyalty Program | |||
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | AccountChargeUpperLimit | CurrencyAmount | 0..1 |
Amount in the default Currency | |||
---|---|---|---|
@ExchangeRate | decimal | 0..1 |
Exchange Rate for the Loyalty Points | |||
@CurrencyCode | string | 0..1 |
This field would be used to pass the guest’s GivenName.
Currency Code, from the RQ | ||||||
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | AccountChargeUpperLimit | CurrencyAmount | Amount | decimal | 1 | Amount in the Currency Code, from the RQ | |||
---|---|---|---|---|---|---|
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | AccountChargeLowerLimit | 0..1 | Minimum amount of points needed for a single redemption (Account and Invoice) | ||||
@Amount | decimal | 1 | Amount in Points | |||
@Type | string | 1 | Shortname of the Loyalty Program | |||
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | AccountChargeLowerLimit | CurrencyAmount |
0..1 |
---|
Amount in the default Currency | |||
---|---|---|---|
@ExchangeRate | decimal |
0..1 |
Exchange Rate for the Loyalty Points | |||
@CurrencyCode | string |
0..1 |
Currency Code, from the RQ | ||||||
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | AccountChargeLowerLimit | CurrencyAmount | Amount | decimal | 1 | Amount in the Currency Code, from the RQ | |||
---|---|---|---|---|---|---|
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | LoyaltyAccount | UserCreated |
0..1 | Information of the logged-in user | |||||
---|---|---|---|---|---|---|
@UserName | IOCodeString | 0..1 | Name of the User | |||
@Organisation | string | 0..1 | Name of the Group the user belongs to | |||
@Department | string | 0..1 |
Name of the Department from the User | ||||
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | LoyaltyAccount | UserCreated | Email | string | 0..1 | This field would be used to pass the guest’s |
---|
Email. |
---|
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | LoyaltyAccount | UserCreated | UserID |
---|
0..1 | This field would be used to pass the guest’s |
---|
UserID | ||||||||
---|---|---|---|---|---|---|---|---|
@Type | IOCodeString | 1 | A reference to the type of object defined by the UniqueID element. Refer to OpenTravel Code List Unique ID Type (UIT) |
| ||||
@ID | string | 1 | The unique profile ID from the PMS. | |||||
@ID_Context | string | 1 | Used to identify the source of the ID. For inbound (to protelIO) requests, this will carry a string value identifying the protel I/O Integration Partner. | “protelIO" | ||||
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | UserModified | 0..1 | |||||||
@UserName | IOCodeString | 0..1 | ||||||
@Organisation | string |
0..1 |
@Department | string | 0..1 | ||||
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | UserModified | Email | string |
---|
0..1 | This field would be used to pass the guest’s |
---|
Email. | |||
---|---|---|---|
IO_LoyaltyAccountInfoRS | LoyaltyReadResults | LoyaltyAccount | UserModified |
| UserID | 0..1 | This field would be used to pass the guest’s UserID |
---|
@Type |
IOCodeString |
1 | A reference to the type of object defined by the UniqueID element. Refer to OpenTravel Code List Unique ID Type (UIT) |
| ||||
@ID | string | 1 | The unique profile ID from the PMS. | |||
@ID_Context | string | 1 | Used to identify the source of the ID. For inbound (to protelIO) requests, this will carry a string value identifying the protel I/O Integration Partner. | “protelIO" |