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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OTA_ProfileCreateRQ OTA_ProfileModifyRQ | outbound inbound | pAir | OTA_ProfileCreateRQ | Profile | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | @BirthDate OTA_ProfileCreateRQ | Profile | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | @BirthPlace OTA_ProfileCreateRQ | Profile | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | @BirthCountry OTA_ProfileModifyRQ | ProfileModify | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | @BirthDate OTA_ProfileModifyRQ | ProfileModify | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | @BirthPlace OTA_ProfileModifyRQ | ProfileModify | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | @BirthCountry |
| Added the three new optional attributes Registration@BirthDate, Registration@BirthPlace and Registration@BirthCountry. If two (different or equal) valid birthdates are provided in Customer@BirthDate and Registration@BirthDate, the value from Registration@BirthDate will be taken. Customer@Birthdate will only be taken if no (valid) date is provided in Registration@BirthDate. | IPA-1107 | 22.36 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PWS 3.9.X | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IO_SystemDataRS | outbound | onPremise | IO_SystemDataRS | SystemData | Rates | RatePlanGroups | RatePlanGroup |@CategoryCode IO_SystemDataRS | SystemData | Rates | RatePlanGroups | RatePlanGroup |@CategoryID |
| Added two new optional attributes to be able to display the rategroups. Now the message is able to display the onPremise rate structure rategroup → ratecode → ratecodetails. | PWS-3236 | 3.9.X | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OTA_ProfileModifyRQ OTA_ProfileModifyRS | outbound inbound | onPremise | OTA_ProfileModifyRQ | POS | ProfileModify OTA_ProfileModifyRS | Errors | Error |
| If an anonymized profile is edited in PMS, then no data is shared. As soon as an anonymized profile is tried to be updated in the PMS, the error message is displayed. | PWS-3261 and PWS-3260 | 3.9.X | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PWS 3.8.X |
| IPA 22.24 | IPA 22.24 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OTA_HotelInvBlockNotifRQ | IO_SystemDataRSoutbound | onPremise | IOOTA_ | SystemDataRSHotelInvBlockNotifRQ | InvBlocks | | SystemDataInvBlock | | RatesRoomTypes | | RatePlanGroupsRoomType | | RatePlanGroupRoomTypeAllocations | | @CategoryCodeRoomTypeAllocation | Current | IO_SystemDataRS | SystemData | Rates | RatePlanGroups | RatePlanGroup |@CategoryID
| <ns2:RatePlanGroup
| CategoryCode
| PWSTG" CategoryID="21" Code="PWSTRC" ID="1271" ID_Context="protelIO" Type="Standard" Visible="true">
<ns2:Description Language="de">PWS Test Ratecode</ns2:Description>
</ns2:RatePlanGroup>Added two new optional attributes to be able to display the rategroups. Now the message is able to display the onPremise rate structure rategroup → ratecode → ratecodetails. | IPA-1079 | 22.24 | PWS 3.8.X||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Anker | PWS 3.8.X | PWS 3.8.X | OTA_HotelInvBlockNotifRQ | outbound | onPremise | OTA_HotelInvBlockNotifRQ | InvBlocks | InvBlock | RoomTypes | RoomType | RoomTypeAllocations | RoomTypeAllocation | Current
Expected
Expected
| RoomTypeAllocation blocks will be grouped for consecutive dates per @NumberOfUnits. This will result in a shorter message. No schema change. Valid for all @RoomTypePickUpStatus supported. | PWS-3193 | 3.8.X | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTNG_HotelFolioNotifRQ HTNG_HotelFolioRS | outbound inbound | onPremise | HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | FolioIDs | FolioID or/and HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | RevenueDetailItems | RevenueDetailItem | FolioIDs | FolioID |
| RoomTypeAllocation blocks will be grouped for consecutive dates per @NumberOfUnits. This will result in a shorter message. No schema change. Valid for all @RoomTypePickUpStatus supported. | PWS-3193 | 3.8.X | HTNG_HotelFolioNotifRQ HTNG_HotelFolioRS | outbound inbound | onPremise | HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | FolioIDs | FolioID or/and HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | RevenueDetailItems | RevenueDetailItem | FolioIDs | FolioID |
Codeblock | ||||
---|---|---|---|---|
| ||||
<htng:HTNG_HotelFolioNotifRQ>
<htng:Folios>
<htng:Folio>
<htng:RevenueDetails>
<htng:RevenueDetail>
<FolioIDs>
<FolioID>OResID | xyz <FolioID/>
<FolioID>OGstID | xyz <FolioID/> |
Add the "OResID" and "OGstID" to the FolioID Element, to display the "originalResID" and "originalGuestID" if an items was shifted from one Reservation to another.
If an Item was not shifted, the Information will not be displayed
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_ProfileModifyRQ>
<ProfileModify>
<TPA_Extensions>
<px:ProfileInfoExtensions>
<px:PersonInfos> <px:Salutation ID="1" ID_Context="protelIO" Type="Salutation">Dear Mrs. and Miss. Mustermann</px:Salutation> |
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_ProfileModifyRQ>
<ProfileModify>
<TPA_Extensions>
<px:ProfileInfoExtensions>
<px:PersonInfos>
<px:Language DefaultInd="true">en-us</px:Language> |
OTA_ReadRQ | ReadRequests | HotelReadRequest | TPA_Extensions | px:ReadRequestExtensions | px:Room | @RoomID
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" CorrelationID="PWS-3130" Version="0" EchoToken="PWS-3130" MaxResponses="2">
<POS>
<Source>
<RequestorID ID="3152" Type="10" ID_Context="protelIO"/>
</Source>
</POS>
<ReadRequests>
<HotelReadRequest>
<SelectionCriteria ResStatus="In-house"/>
<Verification>
<PersonName>
<Surname>Duck</Surname>
</PersonName>
</Verification>
<TPA_Extensions>
<px:ReadRequestExtensions xmlns:px="http://protel.io/htng/extensions">
<px:Room RoomID="303" />
</px:ReadRequestExtensions>
</TPA_Extension>
</HotelReadRequest>
</ReadRequests>
</OTA_ReadRQ> |
<htng:HTNG_HotelFolioNotifRQ>
<htng:Folios>
<htng:Folio>
<htng:RevenueDetails>
<htng:RevenueDetail>
<FolioIDs>
<FolioID>OResID | xyz <FolioID/>
<FolioID>OGstID | xyz <FolioID/> |
Add the "OResID" and "OGstID" to the FolioID Element, to display the "originalResID" and "originalGuestID" if an items was shifted from one Reservation to another.
If an Item was not shifted, the Information will not be displayed
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_ProfileModifyRQ>
<ProfileModify>
|
Current
Codeblock | ||||
---|---|---|---|---|
| ||||
<RoomTypeAllocations RoomTypePickUpStatus="X">
<RoomTypeAllocation End="2022-08-02" NumberOfUnits="2" Start="2022-08-01"/>
<RoomTypeAllocation End="2022-08-06" NumberOfUnits="3" Start="2022-08-06"/>
</RoomTypeAllocations> |
Expected
Codeblock | ||||
---|---|---|---|---|
| ||||
<RoomTypeAllocations RoomTypePickUpStatus="X">
<RoomTypeAllocation End="2022-08-02" NumberOfUnits="2" Start="2022-08-01"/>
<RoomTypeAllocation End="2022-08-05" NumberOfUnits="0" Start="2022-08-03"/>
<RoomTypeAllocation End="2022-08-06" NumberOfUnits="3" Start="2022-08-06"/>
<RoomTypeAllocation End="2022-08-10" NumberOfUnits="0" Start="2022-08-07"/>
</RoomTypeAllocations> |
HTNG_HotelFolioNotifRQ
HTNG_HotelFolioRS
outbound
inbound
HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | FolioIDs | FolioID
Codeblock | ||||
---|---|---|---|---|
| ||||
<htng:HTNG_HotelFolioNotifRQ>
<htng:Folios>
<htng:Folio>
<htng:RevenueDetails>
<htng:RevenueDetail>
<FolioIDs>
<FolioID>OResID | xyz <FolioID/>
<FolioID>OGstID | xyz <FolioID/> |
Add the "OResID" and "OGstID" to the FolioID Element, to display the "originalResID" and "originalGuestID" if an items was shifted from one Reservation to another.
If an Item was not shifted, the Information will not be displayed
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" CorrelationID="PWS-3130" Version="0" EchoToken="PWS-3130" MaxResponses="2"> <POS> <Source> <RequestorID ID="3152" Type="10" ID_Context="protelIO"/> </Source> </POS> <ReadRequests> <HotelReadRequest> <SelectionCriteria ResStatus="In-house"/> <Verification> <PersonName> <Surname>Duck</Surname> </PersonName> </Verification> <TPA_Extensions> <px:ReadRequestExtensions xmlns:px="http://protel.io/htng/extensions">ProfileInfoExtensions> <px:Room RoomID="303" /> </px:ReadRequestExtensions> </TPA_Extension> </HotelReadRequest> </ReadRequests> </OTA_ReadRQ>:PersonInfos> <px:Salutation ID="1" ID_Context="protelIO" Type="Salutation">Dear Mrs. and Miss. Mustermann</px:Salutation> |
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
OTA_HotelResNotifRQ
outbound
- px:LastNameAtBirth
- px:FirstNameAtBirth
- px:LastNameMother
- px:FirstNameMother
OTA_ProfileModifyRQ | ProfileModify | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos |
- px:LastNameAtBirth
- px:FirstNameAtBirth
- px:LastNameMother
- px:FirstNameMother
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
<OTA_ProfileModifyRQ> <ProfileModify> <TPA_Extensions> <px:ProfileInfoExtensions> <px:AddressTypes /> <px:ContactDetails/> <px:PersonInfos> <px:LastNameAtBirth/> <px:FirstNameAtBirth/> <px:LastNameMother/> <px:FirstNameMother/> <px:Language DefaultInd="true">de-de</px:Language> <px:VipCodes/> <px:MarketingCodes/> <px:Keywords/> <px:Registration BirthCountry="DE"/> </px:PersonInfos> <px:Salutation DefaultInd="false" DisplaySequence="1" ID="11" ID_Context="protelIO" Type="SALUTATION">Dear Mr.</px:Salutation> <px:ProfileStatus/> <px:DocumentTypes/> <px:StatisticalInfos/> <px:Traces/> <px:LogEntries/> <px:Memberships/> </px:ProfileInfoExtensions> </TPA_Extensions> |
:Language DefaultInd="true">en-us</px:Language> |
OTA_ReadRQ | ReadRequests | HotelReadRequest | TPA_Extensions | px:ReadRequestExtensions | px:Room | @RoomID
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" CorrelationID="PWS-3130" Version="0" EchoToken="PWS-3130" MaxResponses="2">
<POS>
<Source>
<RequestorID ID="3152" Type="10" ID_Context="protelIO"/>
</Source>
</POS>
<ReadRequests>
<HotelReadRequest>
<SelectionCriteria ResStatus="In-house"/>
<Verification>
<PersonName>
<Surname>Duck</Surname>
</PersonName>
</Verification>
<TPA_Extensions>
<px:ReadRequestExtensions xmlns:px="http://protel.io/htng/extensions">
<px:Room RoomID="303" />
</px:ReadRequestExtensions>
</TPA_Extension>
</HotelReadRequest>
</ReadRequests>
</OTA_ReadRQ> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<HTNG_HotelRoomStatusUpdateNotifRQ>
<Room>
<RoomType NumberOfUnits="1"/> |
IDS 6.095 Anker IDS 6.095 IDS 6.095
OTA_HotelRatePlanNotifRQ
OnPremise
pAir
OTA_HotelRatePlanNotifRQ | RatePlans | RatePlan | Rates | Rate | AdditionalGuestAmounts | AdditionalGuestAmount | @TaxInclusive
OTA_HotelRatePlanNotifRQ | RatePlans | RatePlan | Rates | Rate | AdditionalGuestAmounts | AdditionalGuestAmount | Taxes | @Amount
OTA_HotelRatePlanNotifRQ | RatePlans | RatePlan | Rates | Rate | AdditionalGuestAmounts | AdditionalGuestAmount | Taxes | @CurrencyCode
Codeblock | ||||
---|---|---|---|---|
| ||||
<AdditionalGuestAmounts> <AdditionalGuestAmount AgeQualifyingCode="7" Amount="18.18" CurrencyCode="EUR" MaxAge="3" MinAge="0" TaxInclusive="false"> <Taxes Amount="1.82" CurrencyCode="EUR"/> </AdditionalGuestAmount> |
OnPremise
pAir
OTA_HotelRateAmountNotifRQ | RatePlans | RatePlan | Rates | Rate | AdditionalGuestAmounts | AdditionalGuestAmount | @TaxInclusive
OTA_HotelRateAmountNotifRQ | RatePlans | RatePlan | Rates | Rate | AdditionalGuestAmounts | AdditionalGuestAmount | Taxes | @Amount
OTA_HotelRateAmountNotifRQ | RatePlans | RatePlan | Rates | Rate | AdditionalGuestAmounts | AdditionalGuestAmount | Taxes | @CurrencyCode
Codeblock | ||||
---|---|---|---|---|
| ||||
<AdditionalGuestAmounts> <AdditionalGuestAmount AgeQualifyingCode="7" Amount="18.18" CurrencyCode="EUR" MaxAge="3" MinAge="0" TaxInclusive="false"> <Taxes Amount="1.82" CurrencyCode="EUR"/> </AdditionalGuestAmount> |
PWS 3.7.X Anker PWS 3.7.X PWS 3.7.X
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
OTA_ProfileCreateRQ | Profile | Customer | PersonName | MiddleName
OTA_ProfileModifyRQ | ProfileModify | Customer | PersonName | MiddleName
Codeblock | ||||
---|---|---|---|---|
| ||||
<Customer BirthDate="1980-01-01" Gender="Female"> <PersonName> <GivenName>Doodi</GivenName> <MiddleName>Jacksonn</MiddleName> <Surname>Joness</Surname> </PersonName> <Email DefaultInd="true" EmailType="1" ShareMarketInd="No">xgomez+892372@civitfun.com</Email> <Address DefaultInd="true" FormattedInd="false" ShareMarketInd="No" Type="1" UseType="6"> <AddressLine>Calle Dos 2</AddressLine> <CityName>Palma</CityName> <StateProv>Islas Baleares</StateProv> <CountryName Code="ES">Spain</CountryName> </Address> <CitizenCountryName Code="ES" DefaultInd="true"/> <Document DocID="99999999R" DocType="5" EffectiveDate="2015-01-01" ExpireDate="2024-12-31"/> <EmployerInfo CompanyShortName="" Department=""/> </Customer> |
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
OTA_ProfileCreateRQ | Profile | TPA_Extensions | px:ProfileInfoExtensions | px:StatisticalInfos | px:ParentProfile
OTA_ProfileModifyRQ | ProfileModify | TPA_Extensions | px:ProfileInfoExtensions | px:StatisticalInfos | px:ParentProfile
Codeblock | ||||
---|---|---|---|---|
| ||||
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions"> <px:ProfileInfoExtensions> <px:StatisticalInfos> <px:ParentProfile Name="Duck AG" ID="181579" ID_Context="protelIO" Type="3"/> </px:StatisticalInfos> </px:ProfileInfoExtensions> </TPA_Extensions> |
Remove the existing TPA_Extensions
Codeblock | ||||
---|---|---|---|---|
| ||||
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions"> <Master MasterAccountID="181579"/> </TPA_Extensions> |
And add the new official XSD TPA_Extensions "px:ParentProfile "
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | RoomStays | RoomStay | Guarantee
Codeblock | ||||
---|---|---|---|---|
| ||||
<Guarantee GuaranteeType="CC/DC/Voucher"> <GuaranteesAccepted> <GuaranteeAccepted> <PaymentCard CardCode="MC" CardType="1" EncryptionKey="hOSJucTz-9QDE-KKKE-qiTa-af8X4oOiNVG" ExpireDate="0123" MaskedCardNumber="XXXXXXXXXXXX5100"> <CardHolderName>AT</CardHolderName> </PaymentCard> </GuaranteeAccepted> </GuaranteesAccepted> </Guarantee> |
HTNG_ChargePostingRQ
HTNG_ChargePostingRQ | Posting | Transaction | RevenueDetails | RevenueDetail | Account
Codeblock | ||||
---|---|---|---|---|
| ||||
<RevenueDetails> <RevenueDetail Description="Cash Payment" PMSRevenueCode="1" CurrencyCode="AED" Amount="-45.00" SubTypeID="Payment"> <Account ID="555342188" Type="14" ID_Context="External"/> </RevenueDetail> </RevenueDetails> |
IO_RatePackageNotifRQ | Packages | Package | Validity
IO_RatePackageNotifRQ | Packages | Package | PackageItem | Validity
Codeblock | ||||
---|---|---|---|---|
| ||||
<Validity From="1990-01-01" To="2050-01-01"/> |
...