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
- Send Transaction Info w/ Currency + Profile info w/ Location and Agent info
- Receive Transaction Info + Membership Info
protel I/O uses a request and response message pair to redeem loyalty points at an external system. In the request message include transaction info with currency and agent information.
Message Attributes
IO_LoyaltyAccountChargeRQ
Element | @Attribute | Type | Num | Description outbound | Comments + Contents outbound | pAir | OnPrem |
---|---|---|---|---|---|---|
IO_LoyaltyAccountChargeRQ | 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_ |
---|
LoyaltyAccountChargeRQ | LoyaltyChargeRequest | 1 |
---|
Information of the Redemption | |||
---|---|---|---|
@TransactionAccount |
IOCodeString | 0..1 |
Describes the |
action of |
the points |
| |||||
@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. | |||
@MemberCode |
IOCodeString |
1 |
Primary attribute would be set to “true” if only one booking channel is transferred. Only one source should be marked “true” if multiple sources are sent.
- true
- false
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 Traveler and Company ID. | |||
@LevelCode | IOCodeString |
0..1 |
Allows extensions to be added to the OpenTravel specification per trading partner agreement.
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. |
|
@TransactionReference | IOCodeString | 0..1 |
- ACCRUAL
external Reference ID for the Cancellation | |||
@TransactionVoidInd |
boolean | 0..1 |
Displays if it is a Redemption or a Cancellation |
|
IO_LoyaltyAccountChargeRQ | LoyaltyChargeRequest | TransactionAmount | 0..1 |
---|
Information of the Amount of the Redemption | |||
---|---|---|---|
@Amount |
decimal |
1 |
The Amount of the points | ||||||
@Type | string | 1 | Code for Points |
IO_LoyaltyAccountChargeRQ | LoyaltyChargeRequest | TransactionAmount | CurrencyAmount | 0..1 |
---|
Information of the |
---|
Amount of the Redemption in the Hotel Currency | |||
---|---|---|---|
@CurrencyCode |
decimal | 1 | The |
Currency Code which is used by the Amount |
@ExchangeRate |
string | 0..1 | Exchange Rate | decimal |
IO_LoyaltyAccountChargeRQ | LoyaltyChargeRequest | TransactionAmount | CurrencyAmount | Amount | decimal | 1 | The amount which will be paid with the Point Redemption |
---|
IO_LoyaltyAccountChargeRQ | LoyaltyChargeRequest | StayInfo | 0..1 |
---|
- 4 = Active
- 5 = Inactive
Reservation Information | |||
---|---|---|---|
@ReservationID |
string | 0..1 |
- true
- false
Reservation ID |
@ArrivalDate | dateTime | 0..1 |
Arrival Date |
@DepartureDate | dateTime | 0...1 |
Departure Date | |||
@CRSNumber |
string | 0...1 |
- true
- false
CRS ID | |||
IO_LoyaltyAccountChargeRQ | |
---|
User | 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_LoyaltyAccountChargeRQ | User | Email | string | 0..1 | This field would be used to pass the guest’s Email. |
---|
IO_LoyaltyAccountChargeRQ | User | UserID | 0..1 |
---|
This field would be used to pass the guest’s UserID |
---|
IO_LoyaltyAccountChargeRS - Attributes
@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_LoyaltyAccountChargeRS
Element | @Attribute | Type | Num | Description inbound | Comments + Contents inbound | pAir | OnPrem | ||
---|---|---|---|---|---|---|---|---|
IO_LoyaltyAccountChargeRS | string | 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 | dateTime | 1 | Used to match result messages (*RS) to request messages (*RQ) in asynchronous communication patterns. Therefore mandatory. | "2019-06-05T09:12:14Z" | ||||
@TimeStamp | string | 1 | Time of the transaction. | Version="3.001" | ||||
@Version | string | 0..1 | Message version. | |||||
@PrimaryLangID | boolean | 0..1 | The primary language preference for the message encoded as ISO 639-3. |
| ||||
IO_LoyaltyAccountInquiryRS | Success | 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_LoyaltyAccountInquiryRS | Errors | Error | string | 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. | |||||
@ShortText | OTA_CodeType EWT | 0..1 | An abbreviated version of the error in textual format. |
| ||||
@Type | OTA_CodeType ERR | 0..1 | Mandatory. Refers to the OTA Code List: Error Warning Type (EWT). |
| ||||
@Code | string | 0..1 | Refers to the OTA Code List: Error Codes (ERR). | |||||
IO_LoyaltyAccountInquiryRS | Errors | Error | Message | 0...1 | Description of the issue | ||||||
IO_LoyaltyAccountInquiryRS | Warnings | Warning | string | 0..1 | Used in conjunction with the Success element to define one or more business errors. | |||||
@ShortText | OTA_CodeType EWT |
Element | @Attribute
Num
Description outbound
Content outbound
pAir
OnPrem
IO_LoyaltyAccountChargeRS
@EchoToken
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
1
Used to match result messages (*RS) to request messages (*RQ) in asynchronous communication patterns. Therefore mandatory.
@TimeStamp
0..1
Time of the transaction.
@Version
0..1
Message version.
Version="3.001"
@PrimaryLangID
0..1
The primary language preference for the message encoded as ISO 639-3.
0..1 | An abbreviated version of the error in textual format. |
| ||||
@Type | OTA_CodeType ERR |
0..1 | Mandatory. |
Refers to |
the OTA |
Code List: Error Warning |
Type (EWT). |
|
@Code | string | 0.. |
1 | Refers to the OTA Code List: Error Codes (ERR). |
IO_LoyaltyAccountInquiryRS | Warnings | Warning | Message | 0...1 |
---|
Description of the issue | ||||||
---|---|---|---|---|---|---|
IO_LoyaltyAccountChargeRS | LoyaltyChargeResult | 0..1 | |||||
@TransactionReference |
IOCodeString | 0..1 |
external Reference ID for the Cancellation | |||
@TransactionVoidInd |
boolean | 0..1 |
Displays if it is a Redemption or a Cancellation |
| |||
IO_ |
---|
LoyaltyAccountChargeRS | |
---|
| Message
LoyaltyChargeResult | LoyaltyAccount | 0.. |
---|
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 |
Traveler 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. |
|
- true
- false
IO_LoyaltyAccountChargeRS | LoyaltyChargeResult | LoyaltyAccount | CardHolderName | string | 0..1 |
---|
Name of the Membership card | |||
---|---|---|---|
IO_LoyaltyAccountChargeRS | LoyaltyChargeResult | |
LoyaltyAccount | AccountBalance | 1 | 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_LoyaltyAccountChargeRS | |
LoyaltyChargeResult | LoyaltyAccount | AccountBalance | 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_LoyaltyAccountChargeRS | LoyaltyChargeResult | |
LoyaltyAccount | AccountBalance | CurrencyAmount | Amount | decimal | 1 | Amount in the Currency Code, from the RQ | |||
---|---|---|---|---|---|---|
IO_LoyaltyAccountChargeRS | LoyaltyChargeResult | |
LoyaltyAccount | AccountAccrued | 0..1 | Total amount, the collected points | ||||
---|---|---|---|---|---|---|
@Amount | decimal | 1 | Amount in Points | |||
@Type | string | 1 | Shortname of the Loyalty Program | |||
IO_LoyaltyAccountChargeRS | LoyaltyChargeResult | |
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_LoyaltyAccountChargeRS | |
LoyaltyChargeResult | LoyaltyAccount | AccountAccrued | CurrencyAmount | Amount | decimal | 1 | Amount in the Currency Code, from the RQ | |||
---|---|---|---|---|---|---|
IO_LoyaltyAccountChargeRS | LoyaltyChargeResult | |
LoyaltyAccount | AccountRedeemed | 0..1 | Total amount of points redeemed | ||||
---|---|---|---|---|---|---|
@Amount | decimal | 1 | Amount in Points | |||
@Type | string | 1 | Shortname of the Loyalty Program | |||
IO_LoyaltyAccountChargeRS | LoyaltyChargeResult | |
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_LoyaltyAccountChargeRS | LoyaltyChargeResult | |
LoyaltyAccount | AccountRedeemed | CurrencyAmount | Amount | decimal | 1 | Amount in the Currency Code, from the RQ | |||
---|---|---|---|---|---|---|
IO_LoyaltyAccountChargeRS | LoyaltyChargeResult | |
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_LoyaltyAccountChargeRS | LoyaltyChargeResult | |
LoyaltyAccount | UserCreated | Email | 0..1 | This field would be used to pass the guest’s Email. | ||||
---|---|---|---|---|---|---|
IO_LoyaltyAccountChargeRS | LoyaltyChargeResult | |
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. |
Sample Message
IO_LoyaltyAccountChargeRQ
Redemption
Codeblock | ||||
---|---|---|---|---|
| ||||
<IO_LoyaltyAccountChargeRQ xmlns="http://protel.io/soap" EchoToken="LaureenTest_Charge2" TimeStamp="2021-08-20T06:23:47Z" Version="1.000" CorrelationID="LaureenTest_Charge2">
<POS xmlns="http://www.opentravel.org/OTA/2003/05">
<Source>
<RequestorID Type="10" ID="2691" ID_Context="protelIO"/>
<BookingChannel Type="4" Primary="true"/>
<TPA_Extensions>
<px:POSExtensions xmlns:px="http://protel.io/htng/extensions">
<px:HotelInfo FiscalDate="2019-08-17"/>
</px:POSExtensions>
</TPA_Extensions>
</Source>
</POS>
<LoyaltyChargeRequest TransactionAccount="ACCRUAL" HotelCode="2691" HotelID="7" HotelName="JA Ocean View Hotel, UAE-Dubai" ChainCode="HC1" MemberCode="12898323" ProgramCode="GHA" LevelCode="Gold" AccountStatus="4" PrimaryInd="true" PrimaryIndSpecified="true" TransactionVoidInd="false">
<TransactionAmount Amount="10" Type="D$">
<CurrencyAmount CurrencyCode="AED" ExchangeRate="0.27821">
<Amount>37.64</Amount>
</CurrencyAmount>
</TransactionAmount>
<StayInfo ReservationID="2390534" ArrivalDate="2019-08-15T00:00:00" DepartureDate="2019-08-19T00:00:00"/>
<User UserName="HelloWorld" Organisation="Gruppe" Department="Department">
<Email>EMail@Email</Email>
<UserID>12312</UserID>
</User>
</LoyaltyChargeRequest>
</IO_LoyaltyAccountChargeRQ> |
Cancellation
Codeblock | ||||
---|---|---|---|---|
| ||||
<IO_LoyaltyAccountChargeRQ xmlns="http://protel.io/soap" EchoToken="LaureenTest_Void1" TimeStamp="2021-08-20T10:58:56Z" Version="1.000" CorrelationID="LaureenTest_Void1">
<POS xmlns="http://www.opentravel.org/OTA/2003/05">
<Source>
<RequestorID Type="10" ID="2691" ID_Context="protelIO"/>
<BookingChannel Type="4" Primary="true"/>
<TPA_Extensions>
<px:POSExtensions xmlns:px="http://protel.io/htng/extensions">
<px:HotelInfo FiscalDate="2019-08-17"/>
</px:POSExtensions>
</TPA_Extensions>
</Source>
</POS>
<LoyaltyChargeRequest TransactionAccount="ACCRUAL" HotelCode="2691" HotelID="7" HotelName="JA Ocean View Hotel, UAE-Dubai" ChainCode="HC1" MemberCode="12898323" ProgramCode="GHA" LevelCode="Gold" AccountStatus="4" PrimaryInd="true" PrimaryIndSpecified="true" TransactionVoidInd="true" TransactionReference="77">
<TransactionAmount Amount="10" Type="D$">
<CurrencyAmount CurrencyCode="AED" ExchangeRate="0.27821">
<Amount>37.64</Amount>
</CurrencyAmount>
</TransactionAmount>
<StayInfo ReservationID="2390534" ArrivalDate="2019-08-15T00:00:00" DepartureDate="2019-08-19T00:00:00"/>
<User UserName="HelloWorld" Organisation="Gruppe" Department="Department">
<Email>EMail@Email</Email>
<UserID>12312</UserID>
</User>
</LoyaltyChargeRequest>
</IO_LoyaltyAccountChargeRQ> |
IO_LoyaltyAccountChargeRS
Redemption
Codeblock | ||||
---|---|---|---|---|
| ||||
IO_LoyaltyAccountChargeRS xmlns="http://protel.io/soap" CorrelationID="LaureenTest_Charge2" Version="1.0" TimeStamp="2021-08-20T06:23:47">
<Success>true</Success>
<LoyaltyAccount MemberCode="12898323" ProgramCode="GHA" LevelCode="Gold" AccountStatus="4" TransactionReference="77" TransactionVoidInd= "false">
<CardHolderName>Gary</CardHolderName>
<AccountBalance Amount="1823" Type="D$">
<CurrencyAmount CurrencyCode="AED" ExchangeRate="0.27821">
<Amount>6696.243600000001</Amount>
</CurrencyAmount>
</AccountBalance>
<AccountRedeemed Amount="10.0" Type="D$">
<CurrencyAmount CurrencyCode="AED" ExchangeRate="0.27821">
<Amount>36.732</Amount>
</CurrencyAmount>
</AccountRedeemed>
</LoyaltyAccount>
</IO_LoyaltyAccountChargeRS> |
Cancellation
language | xml |
---|---|
collapse | true |
@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_LoyaltyAccountChargeRS | LoyaltyChargeResult | LoyaltyAccount | UserModified | 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_LoyaltyAccountChargeRS | LoyaltyChargeResult | LoyaltyAccount | UserModified | Email | 0..1 | This field would be used to pass the guest’s Email. | ||||||
IO_LoyaltyAccountChargeRS | LoyaltyChargeResult | 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" |