Affected Message | Direction from protel | PMS | Path | Example | Summary | Internal reference | Version |
---|
TBA IDS |
TBA PWS |
HTNG_HotelCheckOutNotifRQ | Inbound | onPrem | HTNG_HotelCheckOutNotifRQ | RetransmissionIndicator |
<?xml version='1.0' encoding='utf-8'?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Header xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
</soapenv:Header>
<soapenv:Body xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<HTNG_HotelCheckOutNotifRQ xmlns="http://htng.org/2014B" EchoToken="PWS_3542_13" CorrelationID="PWS_3542_13" RetransmissionIndicator="true">
<POS>
<Source xmlns="http://www.opentravel.org/OTA/2003/05">
<RequestorID ID="3153" Type="10" ID_Context="protelIO"/>
<BookingChannel Type="4" Primary="true"/>
</Source>
</POS>
<PropertyInfo ChainCode="n/a" HotelCode="3153" HotelCodeContext="protelIO" HotelName="protel"/>
<AffectedGuests>
<UniqueID ID="342692" ID_Context="protelIO" Type="14"/>
</AffectedGuests>
<HotelReservations>
<HotelReservation xmlns="http://www.opentravel.org/OTA/2003/05" CreateDateTime="2020-08-14T15:59:15Z" CreatorID="ame1" ResStatus="Checked Out">
<UniqueID ID="342692" Type="14" ID_Context="protelIO"/>
</HotelReservation>
</HotelReservations>
</HTNG_HotelCheckOutNotifRQ>
</soapenv:Body>
</env:Envelope>
| When true, indicates the message is being re-sent. This can be apply for the CO guest who need to reprint the invoice. | pws-3542 | TBA |
OTA_ProfileModifyRQ | In/Outbound | onPrem | ProfileModify | Customer | TPA_Extensions | ProfileInfoExtensions | PersonInfos | Registration |
<px:Registration BirthCountry="IT" BirthPlace="CALVIGNASCO" LicensePlate="35347444" />
| We will implement guest BirthCountry & BirthPlace in profile messages, both inbound and outbound. | PWS-3571 | TBA |
IO_SystemDataRS | Outbound | onPrem | IO_SystemDataRS | Reservations | DefaultValues |
<?xml version="1.0" encoding="utf-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Header>
<htnga:CorrelationID>CorrelationID123</htnga:CorrelationID>
<Source xmlns="http://protel.io/soap" Module="protel.WebServices" ModuleVersion="0.0.0.3" Product="protel On Premise SPE" ProductVersion="23.01000" Service="io.protel.onpremise"/>
</env:Header>
<env:Body>
<ns2:IO_SystemDataRS xmlns:ns2="http://protel.io/soap" CorrelationID="CorrelationID123" TimeStamp="2023-05-11T07:25:25.4624218Z" Version="3.000">
<ns2:UniqueID ID="3152" ID_Context="protelIO" Type="10"/>
<ns2:Success/>
<ns2:SystemData ChainCode="HC1" HotelCode="3152" HotelID="1" HotelName="Hotel Lamm">
<ns2:UniqueID ID="3152" ID_Context="protelIO" Type="10"/>
<ns2:Reservations>
<ns2:DefaultValues ArrivalTime="14:00" DepartureTime="10:00"/>
</ns2:Reservations>
</ns2:SystemData>
</ns2:IO_SystemDataRS>
</env:Body>
</env:Envelope>
| The default arrival / departure time which is set by hotel can be displayed in the reservation section of IO_SystemDataRS | PWS-3573 | TBA |
OTA_HotelResNotifRQ | inbound | onPrem | OTA_HotelResNotifRQ | HotelReservations | HotelReservation | Services | Service |
<Services>
<Service ID="RemoveAll" ID_Context="protelIO" Type="16"/>
</Services>
| For Transaction Action "Modify": If Service/@ID="RemoveAll" is provided, then any bookable package/s that are attached to the reservation will be removed from it. | PWS-3556 | TBA |
|
|
|
|
|
|
|
|
TBA IPA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HTNG_ChargePostingRS | outbound | onPrem pAir | HTNG_ChargePostingRS | Errors | Error |
<Errors>
<Error Code="188" Type="1" ShortText="Transaction error - please report. Incomplete Posting flow. Please check the guest folio before a retry."/>
</Errors>
| If no RS is generated by the PMS service within ~55 seconds, then:
- the ESB will not do retries itself
- the ESB will generate a generic RS to inform the sender of the RQ about the failure.
! The RQ should not be automatically retried - the posting itself could have happened, yet for some reason - no RS could have been generated by the PMS service (e.g. fiscalization error). | IO-7390 | ESB 323 |
|
IO_ResModifyNotifRQ | inbound | onPrem | IO_ResModifyNotifRQ | Reservations | Reservation | ProfileReferences | ProfileReference |
| Use Case 11 (Change attached guest profile): only the main reservation profile can be exchanged, no profiles on the list of attached guest profiles! Use Case 11b (Add attached guest profile): an unlimited number of profiles can be attached to the list of attached guest profiles. | PWS-3489 | 3.13.3 |
OTA_HotelAvailRS | outbound | onPrem | OTA_HotelAvailRS | RoomStays | RoomStay | RoomRates | RoomRate | Rates | Rates | TPA_Extensions | px:FixedChargesAmountsExtensions |
<Rate RateTimeUnit="Day" EffectiveDate="2019-02-01" ExpireDate="2019-02-03" UnitMultiplier="2">
<Base AmountAfterTax="117.00" CurrencyCode="EUR"/>
<Total AmountAfterTax="234.00" CurrencyCode="EUR"/>
<TPA_Extensions>
<px:FixedChargesAmountsExtensions
xmlns:px="http://protel.io/htng/extensions" End="2019-02-03" Start="2019-02-01">
<px:RateAmount AmountAfterTax="10.00" RevenueCategoryCode="17" CurrencyCode="EUR" />
</px:FixedChargesAmountsExtensions>
</TPA_Extensions>
</Rate>
| New element TPA_Extensions will be added IF the respective rate has an exclusive fixed charge package. The value of the FixedChargesAmountsExtensions | RateAmount | AmountAfterTax is NOT included in the Base/Total amounts and should NOT be used for OTA_HotelResNotifRQ to the PMS. This value has informative purpose to the walk-in guest - since the charge will be added automatically by the PMS logic during EOD. | PWS-3505 | 3.13.0 |
IO_ResModifyNotifRQ | inbound | onPrem | IO_ResModifyNotifRQ | Reservations | Reservation | ProfileReferences | ProfileReference UseCase 11: Change arriving guest |
<p:ProfileReferences>
<p:ProfileReference ID_Context="protelIO" Type="Customer" ID="36975" Action="DELETE"/>
<p:ProfileReference ID_Context="protelIO" Type="Customer" ID="36888" Action="CREATE"/>
</p:ProfileReferences>
| UseCase 11: Change arriving guest With this PWS version, only the arriving guest will be exchanged, all folio recipients remain as they are. | PWS-3463 | 3.13.0 |
IO_ResModifyNotifRQ | inbound | onPrem | IO_ResModifyNotifRQ | Reservations | Reservation | InvoiceReferences | InvoiceReference | ProfileReferences | ProfileReference UseCase 12: Change invoice recipient |
<p:InvoiceReferences>
<p:InvoiceReference Type="Invoice" ID="34161-0" ID_Context="protelIO">
<p:ProfileReferences>
<p:ProfileReference ID_Context="protelIO" Type="Customer" ID="36975" Action="DELETE" Role="InvoiceRecipient"/>
<p:ProfileReference ID_Context="protelIO" Type="Customer" ID="36842" Action="CREATE" Role="InvoiceRecipient"/>
</p:ProfileReferences>
</p:InvoiceReference>
</p:InvoiceReferences>
| UseCase 12: Change invoice recipient With this PWS version, the invoice recipient for folios A to F can be exchanged. The arriving guest will not be touched. | PWS-3463 | 3.13.0 |
IO_RatePackageNotifRQ | Outbound | onPrem | IO_RatePackageNotifRQ | Packages | Package | PackageItems | PackageItem | Calculation | @FixedChargeInd |
<Calculation AmountAfterTax="10.00" AmountBeforeTax="8.06" Currency="EUR" InclusiveInd="false" FixedChargeInd="false" Recurrence="Daily" Relation="PerAdult">
<DaysOfWeek Fri="true" Mon="true" Sat="true" Sun="true" Thu="true" Tue="true" Wed="true"/>
</Calculation>
| New attribute added to schema: @FixedChargeInd. The attribute is boolean and optional. If @FixedChargeInd="false" (or the attribute is missing) then the package is "not a fixed charge". Else if the @FixedChargeInd="true" then the package "is a fixed charge". This is extra cost to the accommodation amount - but unlike the "add to rate" packages, it should not be included in the inbound reservation total amount to the PMS. | PWS-3492 | 3.13.0 |
HTNG_ChargePostingRQ | Inbound | onPrem | HTNG_ChargePostingRQ | Posting | Transaction | RevenueDetails | RevenueDetail |
<RevenueDetails><RevenueDetail Description="Cash" PMSRevenueCode="1" CurrencyCode="AED" Amount="-10.00" SubTypeID="Deposit"><Account ID="342451" Type="14" ID_Context="protelIO"/></RevenueDetail></RevenueDetails>
| The new value 'Deposit' can be applied to the SubTypeID attribute. In this case partial payments for the guests who depart on the current business date will be possible. | PWS-3509 | 3.13.0 |
|
|
|
|
|
|
|
|
|
|
|
OTA_HotelResNotifRQ | Outbound | pAir | OTA_HotelResNotifRQ | HotelReservations | HotelReservation | TPA_Extensions | ReservationExtensions | Traces |
<TPA_Extensions>
<px:ReservationExtensions xmlns:ns4="http://www.w3.org/2005/08/addressing" xmlns:ns5="http://www.w3.org/2011/03/ws-evt">
<px:ReservationStatus Code="G" ID="5" ID_Context="protelIO" Name="Guaranteed" RPH="198382"/>
<px:ReservationCode Code="CONF" ID="319" ID_Context="protelIO" Language="en_US" Name="Conference" Type="TravelReason">Conference</px:ReservationCode>
<px:ReservationCode Code="Fax" ID="44" ID_Context="protelIO" Language="en_US" Name="Facsimile" Type="CommunicationChannel">Facsimile</px:ReservationCode>
<px:FixedCharges/>
<px:Traces>
<px:Trace TraceBegin="2021-03-17T16:00:00+02:00" TraceDepartment="ACC" TraceEnd="2021-03-17T16:00:00+02:00">Trace Template 333</px:Trace>
<px:Trace TraceBegin="2021-03-18T16:00:00+02:00" TraceDepartment="ACC" TraceEnd="2021-03-18T16:00:00+02:00">Trace Template 444</px:Trace>
<px:Trace TraceBegin="2021-03-19T16:00:00+02:00" TraceDepartment="ACC" TraceEnd="2021-03-19T16:00:00+02:00">Trace Template 222</px:Trace>
<px:Trace TraceBegin="2021-03-18T16:00:00+02:00" TraceDepartment="F&B" TraceEnd="2021-03-18T16:00:00+02:00">Trace Template 123</px:Trace>
<px:Trace TraceBegin="2021-03-19T16:00:00+02:00" TraceDepartment="F&B" TraceEnd="2021-03-19T16:00:00+02:00">Trace Template 123</px:Trace>
</px:Traces>
</px:ReservationExtensions>
</TPA_Extensions>
| Trace information will be added to the ReservationExtensions element of the reservation. | IPA-1224 | 23.22 |
OTA_ProfileModifyRQ | Outbound | pAir | ProfileModify | TPA_Extensions | ProfileInfoExtensions | Traces |
<px:TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:ProfileInfoExtensions>
<px:Traces>
<px:Trace TraceBegin="2017-09-01T00:00:00" TraceDepartment="Direction">Test-Trace</px:Trace>
</px:Traces>
</px:ProfileInfoExtensions>
</px:TPA_Extensions>
| Trace information will be added to the ProfileInfoExtensions of the guests. | IPA-1224 | 23.22 |
OTA_ProfileModifyRQ | In/Outbound | pAir | ProfileInfoExtensions | AccountingInfos |
<px:TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:ProfileInfoExtensions>
<px:AccountingInfos ARNumber="223344" Tax1="222222" Tax2="333333" />
</px:ProfileInfoExtensions>
</px:TPA_Extensions>
| We will implement two Tax1,2 attributes in the profile messages. | IPA-1220, IPA-1221 | 23.22 |
HTNG_ChargePostingRQ | Inbound | pAir | HTNG_ChargePostingRQ | Posting | Transaction | RevenueDetails | RevenueDetail @SubTypeID | no change in XML structure | - For the HTNG_ChargePostingRQ in inbound messages deposit payments are now only processed in a KSV-compliant manner.
If packages ("Batches") are transmitted as well, a corresponding warning is then issued that no packages can be processed. For payments to reservations in the future only the @SubTypeID "Deposit" can be used, we do not support @SubTypeID "Payment" for not checked in reservations.
| IPA-1201 | 23.22 |
IO_SystemDataRS | Outbound | pAir | IO_SystemDataRS | Reservations | DefaultValues |
<?xml version='1.0' encoding='utf-8'?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Header xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<htng:CorrelationID xmlns:htng="http://htng.org/PWSWG/2007/02/AsyncHeaders">CorrelationID123</htng:CorrelationID>
</soapenv:Header>
<soapenv:Body xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<ns2:IO_SystemDataRS xmlns:ns2="http://protel.io/soap" xmlns:ns3="http://www.opentravel.org/OTA/2003/05" CorrelationID="CorrelationID123" EchoToken="CorrelationID123" TimeStamp="2021-01-19T12:16:21Z" Version="1.000">
<ns2:Success/>
<ns2:SystemData ChainCode="n/a" HotelCode="2575" HotelID="2000043" HotelName="protel_IO_Testhotel_pAir_2000043">
<ns2:UniqueID ID="2575" ID_Context="protelIO" Type="10"/>
<ns2:Reservations>
<ns2:DefaultValues ArrivalTime="14:00:00" DepartureTime="11:00:00" >
</ns2:Reservations>
</ns2:SystemData>
</ns2:IO_SystemDataRS>
</soapenv:Body>
</env:Envelope>
| The default arrival / departure time which is set by hotel can be displayed in the reservation section of IO_SystemDataRS | IPA-1231 | 23.22 |
|
|
|
|
|
|
|
|
OTA_HotelResNotifRQ | Inbound | pAir | OTA_HotelResNotifRQ | HotelReservations | HotelReservation | Services | Service |
<Services>
<Service ID="RemoveAll" ID_Context="protelIO" Type="16"/>
</Services>
| For Transaction Action "Modify": If Service/@ID="RemoveAll" is provided, then any bookable package/s that were attached to the reservation will be removed from it. | IPA-1197 | 23.14 |
|
|
|
|
|
|
|
|
HTNG_ChargePostingRQ | Inbound | pAir | HTNG_ChargePostingRQ | Posting | Transaction | RevenueDetails | RevenueDetail |
<RevenueDetails><RevenueDetail Description="Cash" PMSRevenueCode="1" CurrencyCode="AED" Amount="-10.00" SubTypeID="Deposit"><Account ID="342451" Type="14" ID_Context="protelIO"/></RevenueDetail></RevenueDetails>
| We will add a new value 'Deposit' to the SubTypeID attribute. | IPA-1191 | 23.12 |
HTNG_HotelCheckOutNotifRQ | Inbound | pAir | HTNG_HotelCheckOutNotifRQ | RetransmissionIndicator |
<htng:HTNG_HotelCheckOutNotifRQ xmlns:htng="http://htng.org/2014B" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:px="http://protel.io/htng/extensions" CorrelationID="IOTEC_4058_05" EchoToken="IOTEC_4058_05" RetransmissionIndicator="true" Version="1" PrimaryLangID="de-DE" Timestamp="2020-07-06T14:41:54">
<POS>
<Source TerminalID="Code2Order">
<RequestorID Type="10" ID="2787" ID_Context="protelIO"/>
</Source>
</POS>
<htng:Room RoomID="110"/>
<htng:HotelReservations>
<HotelReservation ResStatus="Checked out">
<UniqueID ID="198184" ID_Context="protelIO" Type="14"/>
</HotelReservation>
</htng:HotelReservations>
</htng:HTNG_HotelCheckOutNotifRQ>
| When true, indicates the message is being re-sent. This can be apply for the CO guest who need to reprint the invoice. | IPA-1196 | 23.12 |
|
|
|
| |
|
|
|
OTA_HoteResNotifRQ | outbound | onPrem | OTA_HotelResNotifRQ | HotelReservations | HotelReservation | ResGlobalInfo | HotelReservationIDs | HotelReservationID |
<ResGlobalInfo>
<HotelReservationIDs>
<HotelReservationID ForGuest="true" ResID_Source="protelIO" ResID_Type="27" ResID_Value="345751"/>
<HotelReservationID ForGuest="true" ResID_Source="protelIO" ResID_Type="14" ResID_Value="345752"/>
<HotelReservationID ForGuest="true" ResID_Source="protelIO" ResID_Type="27" ResID_Value="345753"/>
<HotelReservationID ForGuest="true" ResID_Source="CRS" ResID_Type="14" ResID_Value="PL34575211910P"/>
</HotelReservationIDs>
</ResGlobalInfo>
| For sharer reservations there will be one HotelReservationID element for each associated reservation with ResID_Type="27". Any additionally reservation ID (e.g. from a different system) will be added only for the reservation the message is about with ResID_Type="14". | PWS-3547 | 3.12.1 |
HTNG_ChargePostingRQ | Inbound | OnPrem | HTNG_ChargePostingRQ | Posting | RevenueCenter | ID |
<HTNG_ChargePostingRQ xmlns="http://htng.org/2014B" EchoToken="PWS_3462_14" CorrelationID="PWS_3462_14" TimeStamp="2021-03-18T11:32:36Z" Version="0">
<POS>
<Source xmlns="http://www.opentravel.org/OTA/2003/05">
<RequestorID ID="3153" Type="10" ID_Context="protelIO"/>
<BookingChannel Type="4" Primary="true"/>
</Source>
</POS>
<PropertyInfo HotelCode="3153"/>
<Posting ID="7">
<RevenueCenter Description="Kiosk" ID="99">
<Terminal ID="Kiosk"/>
</RevenueCenter>
<Transaction TicketID="120">
<RevenueDetails>
<RevenueDetail Description="Cash" PMSRevenueCode="1" CurrencyCode="AED" Amount="-100" SubTypeID="Payment">
<Account ID="342443" Type="14" ID_Context="protelIO"/>
</RevenueDetail>
</RevenueDetails>
</Transaction>
</Posting>
</HTNG_ChargePostingRQ>
| The ID value in the RevenueCenter element will be considered as the CashRegister number and in case vendors need to use a different cash register ID than the default one. | PWS-3462 | 3.12.X |
OTA_HotelAvailRQ | Inbound | OnPrem | OTA_HotelAvailRQ |
<OTA_HotelAvailRQ xmlns="http://www.opentravel.org/OTA/2003/05" MaxResponses="1000" IsModify="true" AvailRatesOnly="true" CorrelationID="PWS_3382_107" Version="0" EchoToken="PWS_3382_107">
| @IsModify is A boolean flag that indicates the response message should return only HotelStay information. If the flag is true, the AvailRS will not hold the Errors element, if only no available inventory is found, but return an empty result with the TPA_Extensions AvailabilityExtensions filled (for room assignment). | PWS-3382 | 3.12.X |
OTA_HotelResNotifRQ | outbound | OnPrem | OTA_HotelResNotifRQ | HotelReservations | HotelReservation | UniqueID |
<OTA_HotelResNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" CorrelationID="113a2cc0-8dab-429c-8ae0-89f816dbee7d" EchoToken="113a2cc0-8dab-429c-8ae0-89f816dbee7d" PrimaryLangID="en" ResStatus="Commit" TimeStamp="2022-11-29T11:06:36Z" Version="5.000" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelResNotifRQ.xsd">
<POS>
<Source>
<RequestorID ID="3525" ID_Context="protelIO" Type="10"/>
<BookingChannel Primary="true" Type="4"/>
<TPA_Extensions>
<px:POSExtensions xmlns:px="http://protel.io/htng/extensions">
<px:HotelInfo FiscalDate="2019-06-25"/>
</px:POSExtensions>
</TPA_Extensions>
</Source>
</POS>
<HotelReservations>
<HotelReservation CreateDateTime="2022-11-29T11:05:33.467Z" CreatorID="protel 1" LastModifierID="protel 1" LastModifyDateTime="2022-11-29T11:06:16.643Z" ResStatus="Reserved">
<UniqueID ID="34092" ID_Context="protelIO" Type="14"/>
<UniqueID ID="34094" ID_Context="protelIO" Type="36"/>
<RoomStays>
| The UniqueID element was extended by the element with type="36" showing the reservation number of the group master. | PWS-3410 | 3.12.X |
|
|
|
|
|
|
|
|
IO_StatsNotifRQ | outbound | OnPrem | IO_StatsNotifRQ | Statistics |
<IO_StatsNotifRQ xmlns="http://protel.io/soap" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders" EchoToken="c903c385-3f65-4d4e-9a8e-53a5fb7b12cf" TimeStamp="2022-10-06T09:17:19Z" Version="1.0" CorrelationID="c903c385-3f65-4d4e-9a8e-53a5fb7b12cf" PrimaryLangID="en">
<POS>
<Source xmlns="http://www.opentravel.org/OTA/2003/05">
<RequestorID Type="10" ID="3152" ID_Context="protelIO"/>
<BookingChannel Type="4" Primary="true"/>
<TPA_Extensions>
<px:POSExtensions xmlns:px="http://protel.io/htng/extensions">
<px:HotelInfo FiscalDate="2018-10-22"/>
</px:POSExtensions>
</TPA_Extensions>
</Source>
</POS>
<UniqueID Type="10" ID="3152" ID_Context="protelIO"/>
<Statistics>
<Statistic xmlns="http://www.opentravel.org/OTA/2003/05" ...>
...
</Statistic>
</Statistics>
</IO_StatsNotifRQ>
| We will correct the namespaces to follow our XSD. The elements <Statistics>, <POS> and <UniqueID> will be changed to use the IO namespace instead of the OTA one. | PWS-3348 | 3.11.X |
OTA_HotelResNotifRQ | inbound | onPrem | Rate | @CachedIndicator |
<RoomRates>
<RoomRate EffectiveDate="2019-09-11" ExpireDate="2019-09-12" NumberOfUnits="1" RatePlanCode="ADVOV BB" RoomTypeCode="SSV">
<Rates>
<Rate AlternateCurrencyInd="false" EffectiveDate="2019-09-11" ExpireDate="2019-09-12" RateTimeUnit="Day" UnitMultiplier="1" CachedIndicator="true">
<Base AmountAfterTax="1.00" CurrencyCode="BGN"/>
</Rate>
<Rate AlternateCurrencyInd="true" EffectiveDate="2019-09-11" ExpireDate="2019-09-12" RateTimeUnit="Day" UnitMultiplier="1" CachedIndicator="true">
<Base AmountAfterTax="2.00" CurrencyCode="EUR"/>
</Rate>
</Rates>
</RoomRate>
<RoomRate EffectiveDate="2019-09-12" ExpireDate="2019-09-13" NumberOfUnits="1" RatePlanCode="ADVOV BB" RoomTypeCode="SSV">
<Rates>
<Rate AlternateCurrencyInd="false" EffectiveDate="2019-09-12" ExpireDate="2019-09-13" RateTimeUnit="Day" UnitMultiplier="1">
<Base AmountAfterTax="1.00" CurrencyCode="BGN"/>
</Rate>
<Rate AlternateCurrencyInd="true" EffectiveDate="2019-09-12" ExpireDate="2019-09-13" RateTimeUnit="Day" UnitMultiplier="1">
<Base AmountAfterTax="2.00" CurrencyCode="EUR"/>
</Rate>
</Rates>
</RoomRate>
</RoomRates>
| If at least one of Rate/@CachedIndicator is set to "true", then the PMS will ignore the resp rate details for this reservation and will use its latest known data. @CachedIndicator is optional with default value of "false". The values makes sense only for ResStatus="Modify". The new use case eliminates the option for inbound rate modification, where the external service is not aware of any manual edits on the reservation rate details, to be lost. | PWS-3372 | 3.11.X |
|
|
|
|
|
|
|
|
OTA_HotelAvailRS | Outbound | pAir | OTA_HotelAvailRS | RoomStays | RoomStay | RoomRates | RoomRate | Rates | Rates | TPA_Extensions | px:FixedChargesAmountsExtensions |
<Rate RateTimeUnit="Day" EffectiveDate="2019-02-01" ExpireDate="2019-02-03" UnitMultiplier="2">
<Base AmountAfterTax="117.00" CurrencyCode="EUR"/>
<Total AmountAfterTax="234.00" CurrencyCode="EUR"/>
<TPA_Extensions>
<px:FixedChargesAmountsExtensions
xmlns:px="http://protel.io/htng/extensions" End="2019-02-03" Start="2019-02-01">
<px:RateAmount AmountAfterTax="10.00" RevenueCategoryCode="17" CurrencyCode="EUR" />
</px:FixedChargesAmountsExtensions>
</TPA_Extensions>
</Rate>
| New element TPA_Extensions will be added IF the respective rate has an exclusive fixed charge package. The value of the FixedChargesAmountsExtensions | RateAmount | AmountAfterTax is NOT included in the Base/Total amounts and should NOT be used for OTA_HotelResNotifRQ to the PMS. This value has informative purpose to the walk-in guest - since the charge will be added automatically by the PMS logic during EOD. | IPA-1183 | 23.10 |
|
|
|
|
|
|
|
|
OTA_HotelInvCountNotifRQ | Outbound | pAir | N/A | N/A | pAir will no longer send in LIVE mode historical data changes related to inventory. Historical data resync is achievable only through BULK job option. |
| 23.06 |
OTA_ProfileModifyRQ | Inbound Outbound | pAir | OTA_ProfileModifyRQ | ProfileModify | Customer | CustLoyalty |
<CustLoyalty MembershipID="Mem-123456" RPH="11" PrimaryLoyaltyIndicator="false" AllianceLoyaltyLevelName="Test" LoyalLevel="GOLD" SignupDate="2017-09-01" EffectiveDate="2017-09-01" ExpireDate="2017-09-01" ShareMarketInd="No" ShareSyncInd="No">
<SubAccountBalance Type="Points" Balance="200"/>
</CustLoyalty>
| Added guestMemberCard fields to the CustLoyalty element in the profile outbound. | IPA-1168 IPA-1169 | 23.06 |
IO_RatePackageNotifRQ | Outbound | pAir | IO_RatePackageNotifRQ | Packages | Package | PackageItems | PackageItem | Calculation | @FixedChargeInd |
<Calculation AmountAfterTax="10.00" AmountBeforeTax="8.06" Currency="EUR" InclusiveInd="false" FixedChargeInd="false" Recurrence="Daily" Relation="PerAdult">
<DaysOfWeek Fri="true" Mon="true" Sat="true" Sun="true" Thu="true" Tue="true" Wed="true"/>
</Calculation>
| New attribute added to schema: @FixedChargeInd. The attribute is boolean and optional. If @FixedChargeInd="false" then the package is "not a fixed charge". Else if the @FixedChargeInd="true" then the package "is a fixed charge". This is extra cost to the accommodation amount - but unlike the "add to rate" packages, it should not be included in the inbound reservation total amount to the PMS. | IPA-1179 | 23.06 |
|
HTNG_ChargePostingRQ | Inbound | pAir | HTNG_ChargePostingRQ | Posting | RevenueCenter | ID |
<HTNG_ChargePostingRQ xmlns="http://htng.org/2014B" EchoToken="PWS_3462_14" CorrelationID="PWS_3462_14" TimeStamp="2021-03-18T11:32:36Z" Version="0">
<POS>
<Source xmlns="http://www.opentravel.org/OTA/2003/05">
<RequestorID ID="2787" Type="10" ID_Context="protelIO"/>
<BookingChannel Type="4" Primary="true"/>
</Source>
</POS>
<PropertyInfo HotelCode="2787"/>
<Posting ID="7">
<RevenueCenter Description="Kiosk" ID="99">
<Terminal ID="Kiosk"/>
</RevenueCenter>
<Transaction TicketID="120">
<RevenueDetails>
<RevenueDetail Description="Cash" PMSRevenueCode="1" CurrencyCode="AED" Amount="-100" SubTypeID="Payment">
<Account ID="342443" Type="14" ID_Context="protelIO"/>
</RevenueDetail>
</RevenueDetails>
</Transaction>
</Posting>
</HTNG_ChargePostingRQ>
| The ID value in the RevenueCenter element will be considered as the CashRegister number and in case vendors need to use a different cash register ID than the default one. | IPA-1166 | 23.04 |
|
IO_ResModifyNotifRQ | Inbound | pAir | IO_ResModifyNotifRQ | Reservations | Reservation | Packages | Package |
<IO_ResModifyNotifRQ xmlns="http://protel.io/soap" CorrelationID="" EchoToken="" PrimaryLangID="de-DE" Timestamp="2022-01-27T12:40:14" Version="1">
<Reservations HotelCode="2991">
<Reservation>
<UniqueID ID="20996" ID_Context="protelIO" Type="Reservation"/>
<Packages>
<Package Action="CREATE" Code="GuestLaundry" Recurrence="Daily">
<UniqueID ID="334" ID_Context="protelIO" Type="18"/>
</Package>
</Packages>
</Reservation>
</Reservations>
</IO_ResModifyNotifRQ>
| Inbound IO_ResModifyNotifRQ now accept the PackageID instead of it's name to Create/Delete the package from a reservation. | IPA-1149 | 23.02 |
|
IO_SystemDataRS | Outbound | pAir | IO_SystemDataRS | SystemData | Accounting | PaymentMethods | PaymentMethod |
<ns2:PaymentMethod Code="1005" Group="CC" ID="12" ID_Context="protelIO" IsAccountReceivable="false" Visible="true">
<ns2:Name Language="en_US">Mastercard</ns2:Name>
</ns2:PaymentMethod>
| The value of @Code attribute replaced with the PLU (TAA number) of the PaymentMethod item. It was already the shortname of the MOP item. | IPA-1158 | 22.50 |
OTA_ProfileModifyRQ | inbound | pAir | OTA_ProfileModifyRQ | ProfileModify | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:StatisticalInfos | px:ParentProfile |
<TPA_Extensions>
<px:ProfileInfoExtensions>
<px:StatisticalInfos>
<px:ParentProfile ID="24886" ID_Context="protelIO" Name="protel" Type="3"/>
</px:StatisticalInfos>
</px:ProfileInfoExtensions>
</TPA_Extensions>
| Enable attaching a profile as "Parent profile" inbound. The functionality can be used only with existing protel PMS profile IDs | IPA-1145 | 22.50 |
|
HTNG_HotelFolioRQ | inbound | pAir | HTNG_HotelFolioRQ | UniqueID |
<?xml version='1.0' encoding='utf-8'?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<s:Header xmlns:s="http://www.w3.org/2003/05/soap-envelope">
</s:Header>
<s:Body xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<HTNG_HotelFolioRQ xmlns="http://htng.org/2014B" EchoToken="IPA_1138_31" Version="0" CorrelationID="IPA_1138_31">
<POS>
<Source xmlns="http://www.opentravel.org/OTA/2003/05">
<RequestorID ID="2787" Type="10" ID_Context="protelIO"/>
<BookingChannel Type="4" Primary="true"/>
</Source>
</POS>
<UniqueID ID="3584" Type="36" ID_Context="protelIO"/>
</HTNG_HotelFolioRQ>
</s:Body>
</env:Envelope>
| In order to receive the Folio Item for a GroupReservation in pAir, we accept Type="36" as GroupMaster and sends back folio items accordingly. In this case ID should be the GroupMaster ResID. Since the GroupMaster ResID is needed for this case, vendors should know the ResID before sending in the FolioRQ. To do this, vendors need to be subscribed for IO_ResGroupNotifRQ Otherwise. | IPA-1142 | 22.48 |
OTA_HotelResNotifRQ | outbound | pAir | OTA_HotelResNotifRQ | HotelReservations | HotelReservation | RoomStays | RoomStay | RoomRates | RoomRate | Rates | Rate | TPA_Extensions | px:RateAmountExtensions | Currently:
<TPA_Extensions>
<px:RateAmountExtensions AlternateCurrencyInd="false" End="2022-07-17" Start="2022-07-17">
<px:RateAmount AmountAfterTax="29.13" AmountBeforeTax="29.13" CurrencyCode="USD" RevenueCategoryCode="0"/>
<px:RateAmount AmountAfterTax="7.33" AmountBeforeTax="7.00" CurrencyCode="USD" RevenueCategoryCode="3"/>
<px:RateAmount AmountAfterTax="21.24" AmountBeforeTax="21.00" CurrencyCode="USD" RevenueCategoryCode="6"/>
<px:RateAmount AmountAfterTax="187.56" AmountBeforeTax="159.00" CurrencyCode="USD" RevenueCategoryCode="9"/>
<px:RateAmount AmountAfterTax="245.26" AmountBeforeTax="216.13" CurrencyCode="USD" RevenueCategoryCode="17"/>
</px:RateAmountExtensions>
<px:FixedChargesAmountsExtensions AlternateCurrencyInd="false" End="2022-07-17" Start="2022-07-17">
<px:RateAmount AmountAfterTax="13.00" AmountBeforeTax="13.00" CurrencyCode="USD" RevenueCategoryCode="6"/>
<px:RateAmount AmountAfterTax="13.00" AmountBeforeTax="13.00" CurrencyCode="USD" RevenueCategoryCode="17"/>
</px:FixedChargesAmountsExtensions>
</TPA_Extensions>
Expected:
<TPA_Extensions>
<px:RateAmountExtensions AlternateCurrencyInd="false" End="2022-07-17" Start="2022-07-17">
<px:RateAmount AmountAfterTax="29.13" AmountBeforeTax="29.13" CurrencyCode="USD" RevenueCategoryCode="0"/>
<px:RateAmount AmountAfterTax="7.33" AmountBeforeTax="7.00" CurrencyCode="USD" RevenueCategoryCode="3"/>
<px:RateAmount AmountAfterTax="8.24" AmountBeforeTax="8.00" CurrencyCode="USD" RevenueCategoryCode="6"/>
<px:RateAmount AmountAfterTax="187.56" AmountBeforeTax="159.00" CurrencyCode="USD" RevenueCategoryCode="9"/>
<px:RateAmount AmountAfterTax="232.26" AmountBeforeTax="203.13" CurrencyCode="USD" RevenueCategoryCode="17"/>
</px:RateAmountExtensions>
<px:FixedChargesAmountsExtensions AlternateCurrencyInd="false" End="2022-07-17" Start="2022-07-17">
<px:RateAmount AmountAfterTax="13.00" AmountBeforeTax="13.00" CurrencyCode="USD" RevenueCategoryCode="6"/>
<px:RateAmount AmountAfterTax="13.00" AmountBeforeTax="13.00" CurrencyCode="USD" RevenueCategoryCode="17"/>
</px:FixedChargesAmountsExtensions>
</TPA_Extensions>
| If a fixed charge is set as part of Rate code, it will be included in the RateAmountExtensions as RevenueCategoryCode= (6,17) If a fixed charges is added on top of the Rate code, then it will be included only in the in the FixedChargesAmountsExtensions as RevenueCategoryCode= (6,17) | IPA-1160 | 22.48 |
HTNG_HotelRoomStatusSearchRQ
| inbound
| pAir |
|
<HTNG_HotelRoomStatusSearchRQ xmlns="http://htng.org/2014B" xmlns:ota="http://www.opentravel.org/OTA/2003/05" CorrelationID="Test_RoomStatus36" EchoToken="IPA_1137_01" TimeStamp="2019-03-12T16:30:47Z" Version="1.0">
<POS>
<Source>
<RequestorID Type="10" ID="2787" ID_Context="protelIO"/>
</Source>
</POS>
<PropertyInfo HotelName="protel.IO TestHotel25 pAir" HotelCode="2787" HotelCodeContext="protelIO"/>
<Room RoomID="107"/>
</HTNG_HotelRoomStatusSearchRQ>
| The Room Status Search message can be used to obtain a list of rooms having a set of characteristics that the requestor is interested in. This can be done for a single room or a group of rooms, depending on the search criteria. The result then can be used, for example, to synchronize information between systems that need updated housekeeping statuses. | IPA-1137 | 22.48 |
HTNG_HotelRoomStatusSearchRS | outbound | pAir |
|
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope">
<S:Header>
<p:Source xmlns:p="http://protel.io/soap" Module="backline" ModuleVersion="2022-11-28T09:55:36 (QA)" Product="protelAir" ProductVersion="2250.0.71659-SNAPSHOT" Service="io.protel.air"/>
<p:CorrelationID xmlns:p="http://protel.io/soap">IPA_1137_03</p:CorrelationID>
</S:Header>
<S:Body>
<ns2:HTNG_HotelRoomStatusSearchRS xmlns:ns2="http://htng.org/2014B" xmlns:ns3="http://protel.io/soap" xmlns:ns4="http://www.w3.org/2005/08/addressing" xmlns:ns5="http://www.w3.org/2011/03/ws-evt" xmlns:ns6="http://www.opentravel.org/OTA/2003/05" CorrelationID="IPA_1137_03" EchoToken="IPA_1137_03" PrimaryLangID="en" TimeStamp="2022-11-28T10:58:38Z" Version="1">
<ns2:Success/>
<ns2:RoomInformationList>
<ns2:RoomInformation>
<ns2:Room RoomID="106">
<ns2:RoomType IsRoom="true" NumberOfUnits="1" RoomID="106" RoomType="Standard Room" RoomTypeCode="STND">
<ns6:RoomDescription Name="Description">
<ns6:Text TextFormat="PlainText">Standard Room</ns6:Text>
</ns6:RoomDescription>
</ns2:RoomType>
<ns2:HKStatus>OFF_MARKET</ns2:HKStatus>
<ns2:TPA_Extensions>
<px:RoomStatusExtensions xmlns:px="http://protel.io/htng/extensions">
<px:HouseKeepingInfo RoomStatus="2"/>
</px:RoomStatusExtensions>
</ns2:TPA_Extensions>
</ns2:Room>
</ns2:RoomInformation>
</ns2:RoomInformationList>
</ns2:HTNG_HotelRoomStatusSearchRS>
</S:Body>
</S:Envelope>
| The Room Status Search message can be used to obtain a list of rooms having a set of characteristics that the requestor is interested in. This can be done for a single room or a group of rooms, depending on the search criteria. The result then can be used, for example, to synchronize information between systems that need updated housekeeping statuses. | IPA-1137 | 22.48 |