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/
...
The purpose of this page is to inform you about upcoming changes within our OTA/HTNG implementation for both property management systems. Please note that the changes are divided into onPrem and pAir PMS changes. onPrem changes won't be rolled out globally at the date that is mentioned in the table below whilst pAir Updates will always be rolled out for all customers in one step.
Please note that the XML of the examples are shortened for a clear arrangement. The full sample message can be found on the documentation page for the message.
Affected Message | Direction from protel | PMS | Path | Example | Summary | Internal reference | Version | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TBA IDS | |||||||||||||||||||||||||||||||||||||||||
TBA PWS | |||||||||||||||||||||||||||||||||||||||||
TBA IPA | |||||||||||||||||||||||||||||||||||||||||
IO_InvoiceFiscalizeRQ | outbound | pAir | IO_InvoiceFiscalizeNotifRQ | Invoice | @TaxProcedureCode |
| Due to Polish legal fiscal requirements, we're extending the schema by adding a new attribute. For some TAA’s it’s necessary to assign TaxProcedureCode. When this code is assigned then it has to be reported to the Government server. e.g.: "FP" = Invoice that has been generated to fiscal receipt Full list of allowed values: PMS_TaxProcedureCode | IPA-1190 | |||||||||||||||||||||||||||||||||||
IO_InvoiceFiscalizeRQ | outbound | pAir | IO_InvoiceFiscalizeNotifRQ | Invoice | Charges | Item | @GroupCode |
| Due to Polish legal fiscal requirements, we're extending the schema by adding a new attribute. In some situations it is necessary to have GTUCode assigned to the invoice header. This should be related to fiscal code (assignable to fiscal code in PMS SD). e.g.: "GTU01" = Alcohol products "GTU02" = Fuel products Full list of allowed values: PMS_GroupCode | IPA-1190 | |||||||||||||||||||||||||||||||||||
IPA 23.32
| |||||||||||||||||||||||||||||||||||||||||
OTA_HotelResNotifRQ, OTA_ResRetrieveRS | outbound | pAir | RoomStay | RoomTypes | RoomType | TPA_Extension | RoomStatusExtensions |
| For reservations that will arrive on the business day, the status of the room (clean, dirty, etc.) will be sent with. Possible values: IO Types#RoomStatusType | IPA-1259 | 23.32 | ||||||||||||||||||||||||||||||||||
ESB 323 | |||||||||||||||||||||||||||||||||||||||||
HTNG_ChargePostingRS | outbound | onPrem pAir | HTNG_ChargePostingRS | Errors | Error |
| If no RS is generated by the PMS service within ~55 seconds, then:
! 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 | ||||||||||||||||||||||||||||||||||
PWS 3.14.X
| |||||||||||||||||||||||||||||||||||||||||
OTA_ProfileModifyRQ | In/Outbound | onPrem | ProfileModify | Customer | TPA_Extensions | ProfileInfoExtensions | PersonInfos | Registration |
| Implmented guest BirthCountry & BirthPlace in profile messages, both inbound and outbound. | PWS-3571 | 3.14.X | ||||||||||||||||||||||||||||||||||
OTA_ProfileModifyRQ | In/Outbound | onPrem | ProfileModify | Customer | TPA_Extensions | ProfileInfoExtensions | AccountingInfos |
| Implemented Tax1 and Tax2 attributes in the profile messages. | PWS-3590 | 3.14.X | ||||||||||||||||||||||||||||||||||
IO_SystemDataRS | Outbound | onPrem | IO_SystemDataRS | Reservations | DefaultValues |
| The default arrival / departure time which is set by hotel can be displayed in the reservation section of IO_SystemDataRS | PWS-3573 | 3.14.X | ||||||||||||||||||||||||||||||||||
HTNG_HotelCheckOutNotifRQ | Inbound | onPrem | HTNG_HotelCheckOutNotifRQ | RetransmissionIndicator |
| Implemented the RetransmissionIndicator. When true, indicates the message is being re-sent. The RS message will hold all invoices attached to the reservation for the CO guest. | PWS-3542 | 3.14.X | ||||||||||||||||||||||||||||||||||
OTA_HotelResNotifRQ | Inbound | onPrem | OTA_HotelResNotifRQ | HotelReservations | HotelReservation | Services | Service |
| 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 | 3.14.X | ||||||||||||||||||||||||||||||||||
PWS 3.13.X | |||||||||||||||||||||||||||||||||||||||||
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 |
| 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 |
| 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 | OTA_HotelAvailRS | outbound | onPrem | OTA_HotelAvailRS | RoomStays | RoomStay | RoomRates | RoomRate | Rates | Rates | TPA_Extensions | px:FixedChargesAmountsExtensions |
Codeblock | ||||
---|---|---|---|---|
| ||||
<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.
UseCase 11: Change arriving guest
Codeblock | ||||
---|---|---|---|---|
| ||||
<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> |
With this PWS version, only the arriving guest will be exchanged, all folio recipients remain as they are.
UseCase 1211: Change invoice recipientarriving guest
Codeblock | ||||
---|---|---|---|---|
| ||||
<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="3684236888" Action="CREATE" Role="InvoiceRecipient"/> </p:ProfileReferences> </p:InvoiceReference> </p:InvoiceReferences> |
With this PWS version, the invoice recipient for folios A to F can be exchanged. The only the arriving guest will not be touchedbe exchanged, all folio recipients remain as they are.
UseCase 12: Change invoice recipient
Codeblock | ||||
---|---|---|---|---|
| ||||
<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> |
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.
Codeblock | ||||
---|---|---|---|---|
| ||||
<RevenueDetails><RevenueDetail Description="Cash" PMSRevenueCode="1" CurrencyCode="AED" Amount="-10.00" SubTypeID="Deposit"><Account ID="342451" Type="14" ID_Context="protelIO"/></RevenueDetail></RevenueDetails> |
<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> |
With this PWS version, the invoice recipient for folios A to F can be exchanged. The arriving guest will not be touched.
Codeblock | ||||
---|---|---|---|---|
| ||||
<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> |
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.
Codeblock | ||||
---|---|---|---|---|
| ||||
<RevenueDetails><RevenueDetail Description="Cash" PMSRevenueCode="1" CurrencyCode="AED" Amount="-10.00" SubTypeID="Deposit"><Account ID="342451" Type="14" ID_Context="protelIO"/></RevenueDetail></RevenueDetails> |
IPA 23.32
Anker IPA 23.32 IPA 23.32
For reservations that will arrive on the business day, the status of the room (clean, dirty, etc.) will be sent with.
Possible values: IO Types#RoomStatusType
IPA 23.30
Anker IPA 23.30 IPA 23.30
Codeblock | ||||
---|---|---|---|---|
| ||||
<HotelReservation CreateDateTime="2023-07-20T12:55:31+02:00" CreatorID="isabell.kniza@protel.net" LastModifierID="isabell.kniza@protel.net" LastModifyDateTime="2023-07-20T12:56:06+02:00" ResStatus="Reserved" RoomNumberLockedIndicator="true"> |
IPA 23.22
Anker | ||||
---|---|---|---|---|
|
Codeblock | ||||
---|---|---|---|---|
| ||||
<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> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<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> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<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> |
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.
Attention: with the updated implementation no partial payments are accepted for the time being. Partial payments will be implemented again in one of the upcoming versions
Hotfix from 29.06.2023 (Version 23.26) 12a.m. fixed it and partial payments and overpayments are transfered.
IPA-1201,IPA-1251
pair-10977
Codeblock | ||||
---|---|---|---|---|
| ||||
<?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> |
IPA 23.14
Anker | ||||
---|---|---|---|---|
|
Codeblock | ||||
---|---|---|---|---|
| ||||
<Services> <Service ID="RemoveAll" ID_Context="protelIO" Type="16"/> </Services> |
If Service/@ID="RemoveAll" is provided, then any bookable package/s that were attached to the reservation will be removed from it.
IPA 23.12 Anker IPA 23.14 IPA 23.14
Codeblock | ||||
---|---|---|---|---|
| ||||
<RevenueDetails><RevenueDetail Description="Cash" PMSRevenueCode="1" CurrencyCode="AED" Amount="-10.00" SubTypeID="Deposit"><Account ID="342451" Type="14" ID_Context="protelIO"/></RevenueDetail></RevenueDetails> |
HTNG_HotelCheckOutNotifRQ
HTNG_HotelCheckOutNotifRQ | RetransmissionIndicator
Codeblock | ||||
---|---|---|---|---|
| ||||
<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> |
IPA 23.10
Anker | ||||
---|---|---|---|---|
|
px:FixedChargesAmountsExtensions
Codeblock | ||||
---|---|---|---|---|
| ||||
<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.
...