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.
Release dates pAIR LIVE Environment
Version | Release date |
---|
24. |
46 |
2024-12-11 |
24.42 |
2024- |
11- |
13 |
24. |
42 |
2024- |
Release dates PWS (onPrem) LIVE Environment
11-06 NO regular Release | |
24.42 | 2024-10-30 NO regular Release |
24.42 | 2024-10-16 NO regular Release |
24.38 | 2024-09-30 |
24.38 | 2024-09-18 NO regular Release |
24.36 | 2024-09-04 - IPA update will be now every 4 weeks |
24.34 | 2024-08-21 |
24.32 | 2024-08-07 NO regular Release |
24.30 | 2024-07-24 NO regular Release |
24.29 | 2027-07-17 |
24.28 | 2024-07-10 NO regular Release |
24.26 | 2024-06-26 NO regular Release |
24.24 | 2024-06-12 |
24.22 | 2024-05-29 |
24.20 | 2024-05-15 |
24.18 | NO regular Release on Wednesday 01.05.2024 due to public Holiday in Germany |
24.16 | 2024-04-17 |
24.14 | 2024-04-03 |
24.12 | 2024-03-20 |
24.10 | 2024-03-06 |
24.08 | 2024-02-21 |
24.06 | 2024-02-07 |
24.04 | 2024-01-24 |
24.02 | 2024-01-10 |
Release dates ESB (I/O) LIVE Environment
Version | Release date |
---|---|
2.6.3 | 2024-11-06 |
2.6.2 | 2024-09-25 |
2.6.1 | 2024-08-21 |
2.6.0 | 2024-07-15 |
2.5.3 | 2024-06-10 |
2.5.2 | 2024-05-15 |
2.5.1 | 2024-04-10 |
2.5.0 | 2024-02-26 |
TBA IDS | |||||||
TBA ESB | |||||||
Bulk Export from SMP UI | outbound | OnPrem pAir | n/a | no schema change | Each bulk job can be of maximum 2 years timespan. If it is necessary to have longer time span - more bulk jobs should be created. | SMP-2928 | TBA |
Bulk Export from SMP UI | outbound | OnPrem pAir | n/a | no schema change | #1 For one destination - only one bulk job can be running. Any further bulk jobs for the same destination will be saved in the sequence - but it will not start unless all previous jobs are finalized (cancelled, completed). #2 If the queue for a destination in BULK mode exceeds 10K messages, no new bulk job should start. Any further bulk jobs for the same destination will be saved in the sequence - but it will not start unless the queue in BULK mode for the destination drops under 10K messages. | IO-8229 | 2.5.4 |
TBA PWS | |||||||
OTA_ReadRQ/OTA_ResRetrieveRS | inbound | onPremise | extend the Reservation search by roomtypes |
Affected Message | Direction from protel | PMS | Path | Example | Summary | Internal reference | Version | |||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TBA IDS | ||||||||||||||||||||||||||||||||||||||||||||||||||||
TBA PWS | ||||||||||||||||||||||||||||||||||||||||||||||||||||
IO_StatsNotifRQ | outbound | OnPrem | IO_StatsNotifRQ | Statistics |
Codeblock | ||||
---|---|---|---|---|
| ||||
<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> |
Codeblock | ||||
---|---|---|---|---|
|
<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.
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" CorrelationID="PWS-3822_LJ_01" TimeStamp="2021-08-26T10:10:00Z">
<POS>
<Source>
<RequestorID ID="3151" Type="10" ID_Context="protelIO"/>
<BookingChannel Type="4" Primary="true"/>
</Source>
</POS>
<ReadRequests>
<HotelReadRequest>
<SelectionCriteria Start="2017-10-10" End="2017-10-10" ResStatus="Reserved"/>
<TPA_Extensions>
<px:ReadRequestExtensions xmlns:px="http://protel.io/htng/extensions">
<px:Room RoomTypeCode="Cl-Twin"/>
</px:ReadRequestExtensions>
</TPA_Extensions>
</HotelReadRequest>
</ReadRequests>
</OTA_ReadRQ> |
IO_SystemDataRS
no schema change
but we will expand for pAir the attributes
- @AgeFrom
- @AgeTo
- @AgeQualifyingCode
no schema change
In the pAir SystemData in Rate Configuration you can define Discount Groups. With the extension for pAir we send the attributes
- @AgeFrom
- @AgeTo
- @AgeQualifyingCode
IPA-1467
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
no schema change
no schema change
no change in the Schema.
Export @LoyalLevel value with the string label the way it is defined by the user instead of the PMS SystemData ID
IPA-1277
OTA_HotelResNotifRQ
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
OTA_HotelStayInfoNotifRQ
OTA_ProfileModifyRQ | ProfileModify | Customer | Document
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_ProfileCreateRQ>
<Profile>
<Customer>
<Document DocIssueLocation="Dortmund_22" DocID="123456" DocType="4" EffectiveDate="2018-12-12" ExpireDate="2050-12-31" DocIssueAuthority="1234"/>
</Customer>
</Profile>
</OTA_ProfileCreateRQ> |
To be legal in Austria, a new Attribute is added to the Document Element with the label "Issuing Authorities"
IPA-1369
IO_SystemDataRQ | Request | Rates
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:Request xmlns:p="http://protel.io/soap">
<p:UniqueID Type="10" ID="2575" ID_Context="protelIO"/>
<p:Rates IncludeInvisible="true or false"/>
</p:Request> |
The vendor should be able to tell us in the RQ with the attribute IncludeInvisible="true or false" which rates he wants to see.
- If we do not receive a restriction in the RQ, we send out all data by default.
- If we receive the restriction IncludeInvisible="true", we send all rates (like default)
- If we receive the restriction IncludeInvisible="false", we send all rates that are currently valid
IPA-1404
IO_SystemDataRS | SystemData | Rates | RatePlans | RatePlan
Codeblock | ||||
---|---|---|---|---|
| ||||
The vendor should be able to tell us in the RQ with the attribute IncludeInvisible="true or false" which rates he wants to see.
- If we do not receive a restriction in the RQ, we send out all data by default.
- If we receive the restriction IncludeInvisible="true", we send all rates (like default)
- If we receive the restriction IncludeInvisible="false", we send all rates that are currently valid
IPA-1403
PWS 3.19.X Anker PWS 3.19.X PWS 3.19.X
OTA_HotelResNotifRQ
inbound
OnPrem
no schema changes
We will no longer import fixed charges with inbound OTA_HotelResNotifRQ. This can only be done with IO_ResModifyNotifRQ.
PWS-3810
3.19.0
OTA_HotelResNotifRQ
inbound
OnPrem
no schema changes
Implemented the import of the attributes CommunicationChannel and TravelReason.
PWS-3820
OTA_HotelRatePlanNotifRQ
inbound
OnPrem
no schema changes
- Overlay = All data is overwritten
- Delta = Only the specified data record in the RQ is adjusted. All other data remains unchanged.
PWS-3821
IO_SystemDataRQ
inbound
OnPrem
IO_SystemDataRQ | Request | Rates @IncludeInvisible
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:IO_SystemDataRQ xmlns:p="http://protel.io/soap" TimeStamp="2020-08-20T07:15:51.4023488Z" Version="1.000" CorrelationID="IncludeInvisible">
<p:Request xmlns:p="http://protel.io/soap">
<p:UniqueID Type="10" ID="3152" ID_Context="protelIO"/>
<p:Rates IncludeInvisible="true"/>
</p:Request>
</p:IO_SystemDataRQ> |
To shorten the RS message we implemented a new attribute to exclude information about expired rates. If this new attribute is not provided, the RS message will contain information about all rates as before (default=true). If the new attribute is sent with "false", the RS message will no longer contain information about expired rates.
PWS-3805
PWS-3806
IO_SystemDataRS
outbound
OnPrem
IO_SystemDataRS | SystemData | Reservations | GuestRelationTypes | GuestRelationType
Codeblock |
---|
<ns2:IO_SystemDataRS>
<ns2:SystemData>
<ns2:Reservations>
<ns2:GuestRelationTypes>
<ns2:GuestRelationType Code="BRO" ID="1" ID_Context="protelIO" Visible="true">
<ns2:Name Language="en">Brother</ns2:Name>
</ns2:GuestRelationType> |
Added the GuestRelationType to the SystemDataRS.
PWS-3835
PWS 3.17.X Anker PWS 3.17.X PWS 3.17.X
OTA_HotelInvBlockNotifRQ
Codeblock | ||||
---|---|---|---|---|
| ||||
<RatePlan CurrencyCode="EUR" End="2100-01-01" MaxGuestApplicable="9999" RatePlanCode="StdRateExclTax" Start="1980-01-01" TaxInclusive="false"> |
HTNG_HotelRoomStatusUpdateNotifRQ
PWS-3246
PWS 3.16.X Anker PWS 3.16.X PWS 3.16.X
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
outbound
OnPrem
OTA_ProfileCreateRQ | Profile | Customer | Document
OTA_ProfileModifyRQ | ProfileModify | Customer | Document
no schema change
With OnPrem 23.060 it will be possible to store more than one travel document per profile so that the outbound profile messages may contain more than one document element.
PWS-3723
3.16.0
OTA_HotelResNotifRQ
outbound
OnPrem
HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile | Customer | RelatedTraveler | TPA_Extensions | px:GuestStayExtensions | px:StayInfo
Codeblock | ||||
---|---|---|---|---|
| ||||
<RelatedTraveler BirthDate="2006-03-05">
<UniqueID ID="181493" ID_Context="protelIO" Type="1"/>
<PersonName Language="de">
<NamePrefix/>
<GivenName>Tick</GivenName>
<MiddleName/>
<Surname>Duck</Surname>
<Document DocID="987654321" DocType="5"/>
</PersonName>
<TPA_Extensions>
<px:GuestStayExtensions>
<px:StayInfo PrimaryInd="false" RelationToPrimary="Neffe / Nichte"/>
</px:GuestStayExtensions>
</TPA_Extensions>
</RelatedTraveler> |
The legal requirements in Spain stipulate that additional guests can be related to the main guest.
The relationship to the main guest can soon be transferred by the additional attribute with.
This is for example important for police reports.
PWS-3697
3.16.0
OTA_HotelResNotifRQ
outbound
OnPrem
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | TPA_Extensions | px:Traces
No change in XML, but traces from the past (before the current PMS business date) are no longer sent.
PWS-3676
3.16.0
OTA_ProfileModifyRQ
outbound
OnPrem
OTA_ProfileModifyRQ | ProfileModify | Customer | TPA_Extensions | px:ProfileExtensions | px:PersonInfos | px:Registration | px:Occupation
Codeblock | ||
---|---|---|
| ||
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:ProfileInfoExtensions>
<px:PersonInfos>
<px:MarketingCodes>
<px:Code DefaultInd="false" DisplaySequence="0" ID="3" ID_Context="protelIO" Type="MARKETINGCODE">Wintergast</px:Code>
</px:MarketingCodes>
<px:Registration BirthCountry="DE" BirthPlace="Oberhausen">
<px:Occupation>Polizist</px:Occupation>
</px:Registration>
<px:Language DefaultInd="true">en</px:Language>
</px:PersonInfos>
<px:Salutation ID="1" ID_Context="protelIO" Type="Salutation">Sehr geehrte Frau Werner</px:Salutation>
</px:ProfileInfoExtensions>
</TPA_Extensions> |
The attribute occupation was added.
PWS-3714
3.16.0
IO_ResModifyNotifRQ
inbound
OnPrem
IO_ResModifyNotifRQ | Reservations | Reservation | ProfileReferences | ProfileReference
@RelationToPrimary
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:IO_ResModifyNotifRQ xmlns:p="http://protel.io/soap" CorrelationID="UseCase11b" TimeStamp="2018-12-29T15:20:35.985Z" Version="1.00">
<p:Reservations HotelCode="3152">
<p:Reservation ArrivalDate="2018-11-11">
<p:UniqueID ID="345474" Type="Reservation" ID_Context="Protel_IO"/>
<p:ProfileReferences>
<p:ProfileReference ID_Context="protelIO" Type="Customer" ID="181491" RelationToPrimary="Son" Action="CREATE"/>
</p:ProfileReferences>
</p:Reservation>
</p:Reservations>
</p:IO_ResModifyNotifRQ> |
The legal requirements in Spain stipulate that additional guests can be related to the main guest.
The relationship to the main guest can be transferred by the additional attribute for UseCase 11b only.
The relation is for example important for police reports.
PWS-3700
3.16.0
OTA_HotelResNotifRQ
OTA_HotelStayInfoNotifRQ
OTA_ProfileCreateRQ
OTA_ProfileCreateRQ
outbound
OnPrem
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile | Profile | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | | px:DocumentInfos | px:DocumentInfo
OTA_HotelStayInfoNotifRQ | StayInfos | StayInfo | HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile | Profile | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | | px:DocumentInfos | px:DocumentInfo
OTA_ProfileCreateRQ | Profile | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | | px:DocumentInfos | px:DocumentInfo
OTA_ProfileModifyRQ | ProfileModify | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | px:DocumentInfos | px:DocumentInfo
Codeblock | ||||
---|---|---|---|---|
| ||||
<Customer>
<TPA_Extensions>
....
<ProfileInfoExtensions>
....
<PersonInfos>
....
<Registration BirthDate="1980-01-06" BirthCountry="MA">
<Occupation>Mechanic</Occupation>
<DocumentInfos>
<DocumentInfo RPH="665554444" ID_Context="SNDS" ID="120-24440-GV0" Type="DocumentIdentifier"/>
</DocumentInfos>
</Registration>
</PersonInfos>
</ProfileInfoExtensions>
</TPA_Extensions>
</Customer> |
Due to Spanish legal requirements (Police reports), we extend the TPA extensions in the Customer element with DocumentInfo for the support number of Spanish documents.
PWS-3712
3.16.0
OTA_HotelResNotifRQ
OTA_ProfileCreateRQ
OTA_ProfileCreateRQ
inbound
OnPrem
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile | Profile | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | | px:DocumentInfos | px:DocumentInfo
OTA_ProfileCreateRQ | Profile | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | | px:DocumentInfos | px:DocumentInfo
OTA_ProfileModifyRQ | ProfileModify | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | px:DocumentInfos | px:DocumentInfo
Codeblock | ||||
---|---|---|---|---|
| ||||
<Customer>
<TPA_Extensions>
....
<ProfileInfoExtensions>
....
<PersonInfos>
....
<Registration BirthDate="1980-01-06" BirthCountry="MA">
<Occupation>Mechanic</Occupation>
<DocumentInfos>
<DocumentInfo RPH="665554444" ID_Context="SNDS" ID="120-24440-GV0" Type="DocumentIdentifier"/>
</DocumentInfos>
</Registration>
</PersonInfos>
</ProfileInfoExtensions>
</TPA_Extensions>
</Customer> |
Due to Spanish legal requirements (Police reports), we extend the TPA extensions in the Customer element with DocumentInfo for the support number of a Spanish documents.
PWS-3713
3.16.0
OTA_ProfileCreateRQ
OTA_ProfileCreateRQ
inbound
OnPrem
no change in xml
Codeblock | ||||
---|---|---|---|---|
| ||||
<Customer Gender="Male" BirthDate="2020-01-01" VIP_Indicator="true" Language="de" CustomerValue="ECA - 10%|0;VIP|2">
<PersonName>
<NamePrefix>Herr</NamePrefix>
<GivenName>Donald</GivenName>
<Surname>Duck</Surname>
</PersonName>
<CitizenCountryName DefaultInd="true" Code="DE"/>
<Document DocID="123456798" DocIssueLocation="" DocType="2" EffectiveDate="2020-01-01" ExpireDate="2030-01-01"/>
<Document DocID="963852" DocType="1" EffectiveDate="2021-10-10"/>
</Customer> |
With OnPrem version 23.060 and higher it is possible to send more than one document per profile.
PWS-3651
3.16.0
OTA_HotelResNotifRQ
OTA_ProfileCreateRQ
OTA_ProfileCreateRQ
outbound / inbound
OnPrem
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile | Profile | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | LicensePlate
OTA_ProfileCreateRQ | Profile | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | LicensePlate
OTA_ProfileModifyRQ | ProfileModify | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | LicensePlate
Codeblock | ||||
---|---|---|---|---|
| ||||
<px:ProfileInfoExtensions>
<px:PersonInfos>
<px:Registration BirthCountry="DE" BirthPlace="Entenhausen" |
>
|
<LicensePlate>ENT-DD 1</LicensePlate> |
</px:Registration>
</px:PersonInfos>
</px:ProfileInfoExtensions> |
Corrected the xml to follow the schema.
PWS-3711
3.16.0
ESB 323 Anker ESB 323 ESB 323
onPrem
pAir
Codeblock | ||||
---|---|---|---|---|
| ||||
<Errors> |
<Error |
Code=" |
188" |
Type=" |
1" |
ShortText="Transaction error - please report. Incomplete Posting flow. Please check the guest folio before a retry."/> |
@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 modification, where the external service is not aware of any manual edits on the reservation rate details, to be lost.
</Errors> |
- 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).
IPA 24.38
Anker IPA 24.38 IPA 24.38
OTA_HotelResNotifRQ
no schema change
no schema change
Handling for CC-Cards
- inbound @CardCode Attribute needs to be configured in the pAir SystemData that it can be used for Payment Posting or Deposit Posting
- Case-insensitive is working for the @CardCode Attribute
- CardCode in the SystemData: "Mastercard" → inbound CardCode "MasterCard"
- CardCode in the SystemData: "Mastercard" → inbound CardCode "mastercards"
- Detokenize Card Number is always possible
→ Important for Hotels → all possible inbound CardCodes needs to be configured in the System Data (if a vendor is sending "Mastercard (virtual credit card)" it needs to be configured in the SystemData)
→ Important for Vendor → discuss with the Hotels with CardCode are configured in their System Data.
IPA-1568
IPA 24.29
Anker IPA 24.29 IPA 24.29
IO_SystemDataRS
IO_ResModifyNotifRQ
OTA_HotelResNotifRQ
outbound
outbound
outbound / inbound
pAir
no schema change
IPA 24.24
Anker IPA 24.24 IPA 24.24
IO_InvoiceFiscalizeRQ
IO_InvoiceFiscalizeNotifRQ
IO_InvoiceFiscalizeRQ | Invoice | AdditionalText
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:AdditionalText>test 123 </p:AdditionalText> |
Due to the legal requirements in Romania, we are extend the invoice element with a new element for the additional text for invoices.
IO_InvoiceFiscalizeRQ
IO_InvoiceFiscalizeNotifRQ
IO_InvoiceFiscalizeRQ | Invoice | InvoiceFormat
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:InvoiceFormat>ItemsSortDate</p:InvoiceFormat> |
Due to the legal requirements in Romania, we are expanding the invoice element with a new element for the invoice format for invoices.
IO_SystemDataRS | SystemData | Accounting | InvoiceFormat
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:IO_InvoiceFiscalizeNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:htng="http://htng.org/2014B" xmlns:p="http://protel.io/soap" CorrelationID="INV#2100171#Update#000153#1663079592581#E8FC" TimeStamp="2022-09-13T14:33:13Z" Version="1.0">
<p:UniqueID ID="6969" ID_Context="protelIO" Type="Invoice"/>
<p:UniqueID ID="2877" ID_Context="protelIO" Type="Hotel"/>
<p:Invoice BusinessDate="2022-04-07" ExternalFiscalClosingID="deafcef0cc6ef843022c048e9521af37" ExternalFiscalCode="7d280d03-ad80-4e4e-9c03-c64bd7cf93ce" ExternallyFiscalized="true" FiscalCode="2393" FiscalCodeID="2" FiscalCodeName="ΑΠΟΔΕΙΞΗ ΠΑΡΟΧΗΣ ΥΠΗΡΕΣΙΩΝ" FiscalDate="2022-09-13T16:33:05+02:00" Fiscalized="true" InvoiceCode="RE_5056" InvoiceDate="2022-09-13T16:33:05+02:00" InvoiceID="6969" Open="false" PastEndOfDay="false" Type="Reservation" User="Alireza Memarifard" UserTaxNo="" Void="false">
<p:InvoiceRecipient ProfileID="4224" ProfileType="Customer">
<p:FirstName/>
<p:LastName>Rxxx</p:LastName>
<p:Language>en_US</p:Language>
<p:Notes/>
<p:Gender/>
<p:Addresses/>
<p:EmailAddresses>
<p:Communication Notes="" PrimaryInd="true" Type="11" Value=""/>
</p:EmailAddresses>
<p:PhoneNumbers>
<p:Communication Notes="" PrimaryInd="true" Type="9" Value=""/>
</p:PhoneNumbers>
</p:InvoiceRecipient>
<p:Charges>
<p:Item CashRegisterID="1" ID="121026" PostingAccount="153" Quantity="1" ServiceDate="2022-04-07" SystemDate="2022-09-13T14:32:50+02:00" TaxCode="13%" TaxRate="13.000000000" Type="Article">
<p:PostingText>Accommodation</p:PostingText>
<p:TotalAmountAfterTax CurrencyCode="EUR">
<p:Amount>1.00</p:Amount>
</p:TotalAmountAfterTax>
<p:SingleAmountAfterTax CurrencyCode="EUR">
<p:Amount>1.00</p:Amount>
</p:SingleAmountAfterTax>
<p:SingleAmountBeforeTax CurrencyCode="EUR">
<p:Amount>0.88</p:Amount>
</p:SingleAmountBeforeTax>
<p:AdditionalText/>
<p:TaxInfo Code="13%" ID="2" Rate="13.000000000">VAT_13</p:TaxInfo>
<p:Room>1</p:Room>
<p:Reference Code="100" ID="26" Name="Accommodation">
<p:Group Code="1018" ID="25" Name="Accommodation"/>
</p:Reference>
</p:Item>
</p:Charges>
<p:Payments>
<p:Item CashRegisterID="1" ID="121027" PostingAccount="153" Quantity="1" ServiceDate="2022-04-07" SystemDate="2022-09-13T14:32:57+02:00" Type="Payment">
<p:PostingText>??????????? ??????????????</p:PostingText>
<p:TotalAmountAfterTax CurrencyCode="EUR">
<p:Amount>-1.00</p:Amount>
</p:TotalAmountAfterTax>
<p:SingleAmountAfterTax CurrencyCode="EUR">
<p:Amount>-1.00</p:Amount>
</p:SingleAmountAfterTax>
<p:SingleAmountBeforeTax CurrencyCode="EUR">
<p:Amount>-1.00</p:Amount>
</p:SingleAmountBeforeTax>
<p:AdditionalText/>
<p:Room>1</p:Room>
<p:Reference Code="1019" ID="41" Name="??????????? ??????????????">
<p:Group Code="1012" ID="19" Name="Noncash"/>
</p:Reference>
</p:Item>
</p:Payments>
<p:Deposits/>
<p:Expenses/>
<p:Batches/>
<p:TotalChargeAmount CurrencyCode="EUR">
<p:Amount>1.00</p:Amount>
</p:TotalChargeAmount>
<p:TotalPaymentsAmount CurrencyCode="EUR">
<p:Amount>-1.00</p:Amount>
</p:TotalPaymentsAmount>
<p:TotalDepositsAmount CurrencyCode="EUR">
<p:Amount>0.00</p:Amount>
</p:TotalDepositsAmount>
<p:VoidReason/>
</p:Invoice>
<p:ExternalFiscalCode>7d280d03-ad80-4e4e-9c03-c64bd7cf93ce</p:ExternalFiscalCode>
<p:ExternalFiscalClosingID>deafcef0cc6ef843022c048e9521af37</p:ExternalFiscalClosingID>
</p:IO_InvoiceFiscalizeNotifRQ> |
OTA_ProfileModifyRQ
inbound
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
Codeblock | ||||
---|---|---|---|---|
| ||||
<px:Registration BirtDate="2000-01-01" BirthPlace="Dortmund" BirthCountry="DE"/> |
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.
IO_SystemDataRS | SystemData | Rates | RatePlanGroups | RatePlanGroup |@CategoryCode
IO_SystemDataRS | SystemData | Rates | RatePlanGroups | RatePlanGroup |@CategoryID
Codeblock | ||||
---|---|---|---|---|
| ||||
<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> |
<ns2:InvoiceFormats>
<ns2:InvoiceFormat Code="ItemsSortDate">
<ns2:Description Language="en_US">Single items, sort by date</ns2:Description>
</ns2:InvoiceFormat>
<ns2:InvoiceFormat Code="ItemsSortGuest">
<ns2:Description Language="en_US">Single items, sort by guest</ns2:Description>
</ns2:InvoiceFormat>
<ns2:InvoiceFormat Code="ItemsSortRoom">
<ns2:Description Language="en_US">Single items, sort by room</ns2:Description>
</ns2:InvoiceFormat>
<ns2:InvoiceFormat Code="ItemsSortCrs">
<ns2:Description Language="en_US">Single items, sort by CRS number</ns2:Description>
</ns2:InvoiceFormat>
<ns2:InvoiceFormat Code="ItemsGroupCode">
<ns2:Description Language="en_US">Combine identical items</ns2:Description>
</ns2:InvoiceFormat>
<ns2:InvoiceFormat Code="ItemsGroupDate">
<ns2:Description Language="en_US">Combine identical items and dates</ns2:Description>
</ns2:InvoiceFormat>
<ns2:InvoiceFormat Code="ItemsGroupGuest">
<ns2:Description Language="en_US">Combine identical items and guest</ns2:Description>
</ns2:InvoiceFormat>
<ns2:InvoiceFormat Code="ItemsGroupRoom">
<ns2:Description Language="en_US">Combine identical items and rooms</ns2:Description>
</ns2:InvoiceFormat>
<ns2:InvoiceFormat Code="ItemsGroupCrs">
<ns2:Description Language="en_US">Combine identical items and CRS number</ns2:Description>
</ns2:InvoiceFormat>
</ns2:InvoiceFormats> |
Due to the legal requirements in Romania, we are expanding the Accounting element with a new element for the invoice format for invoices.
IO_InvoiceFiscalizeRQ
IO_InvoiceFiscalizeNotifRQ
no schema change
no schema change
no change in the Schema.
To be legal in Portugal, an IO_InvoiceFiscalizeRQ needs to be triggered as soon as an Proforma or Info Invoice is created.
IPA-1345
IPA 24.20
Anker IPA 24.20 IPA 24.20
OTA_HotelResNotifRQOTA_HotelStayInfoNotifRQOTA_ResRetrieveRSHTNG_HotelCheckInNotifRQHTNG_HotelCheckOutNotifRQ
HotelReservation | ResGuests | ResGuest | TPA_Extensions | px:GuestStayExtensions | px:StayInfo
@CheckedIn
@CheckedOut
Codeblock | ||||
---|---|---|---|---|
| ||||
<TPA_Extensions>
<px:GuestStayExtensions>
<px:StayInfo Arrival="2024-02-27T09:13:06+01:00" CheckedIn="2024-04-26T09:13:06+02:00" CheckedOut="2024-05-02T15:12:21+02:00" Departure="2024-02-28T15:12:21+01:00" PrimaryInd="true" Role="BookerAndArrivingGuest" Status="Checked out"/>
<px:TelephoneSetting ClassOfService="3"/>
</px:GuestStayExtensions>
</TPA_Extensions> |
To be legal compliant for police reports we added new attributes in the StayInfo Element
@CheckedIn = date and time for the logged checkin for the reservation
@CheckedOut = date and time for the logged checkout for the reservation
IPA-1392
OTA_HotelResNotifRQ
px:ReservationExtensions | px:ProcessingInstructions | px:ResGuests |
@FullOverlay
@Role
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
<px:ReservationExtensions>
<px:ProcessingInstructions>
<px:ResGuests FullOverlay="true" Role="LinkedProfile"/>
</px:ProcessingInstructions> |
Extending the handling of list of profiles linked to a reservation:
- If px:ProcessingInstructions | px:ResGuests | @FullOverlay="true", then the list of profiles provided in the inbound RQ msg will completely replace those existing in the PMS for the designated @Role. This allows to use intentional removal of existing profiles linked to a reservation.
- Else - if the new element is missing or the @FullOverlay="false" - the current existing logic remains - profiles are appended to the reservation.
! Caution - If the vendor does not have the intention to remove a profile from a reservation - then this element should not be sent inbound !
IPA-1387
IPA 24.14
Anker IPA 24.14 IPA 24.14
IO_InvoiceFiscalizeRQ
IO_InvoiceFiscalizeNotifRQ
IO_InvoiceFiscalizeRQ | Invoice
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:Invoice BusinessDate="2022-08-09" ExternallyFiscalized="false" FiscalCode="gg12cc" FiscalCodeID="2" FiscalCodeName="Test_AB" FiscalDate="2024-03-27T08:31:34+01:00" Fiscalized="true" InvoiceCode="RE_23" InvoiceDate="2024-03-27T08:31:34+01:00" InvoiceID="34" Open="false" PastEndOfDay="false" SystemFiscalCode1="AA" SystemFiscalCode2="bb" SystemFiscalCode3="cc" Type="Reservation" User="Julia W" UserTaxNo="" Void="false"> |
Due to legal requirements in Portugal, we are expanding
the invoice element with the attributes from the fiscal code in the systemdata:
@SystemFiscalCode1 for ATCUD
@SystemFiscalCode2 for NIF
@SystemFiscalCode3 for SAFT
IO_InvoiceFiscalizeRQ
IO_InvoiceFiscalizeNotifRQ
IO_InvoiceFiscalizeRQ | Invoice | InvoiceRecipient | AccountingInfos
OTA_ProfileModifyRQ
OTA_ProfileModifyRS
outbound
inbound
OTA_ProfileModifyRQ | POS | ProfileModify
OTA_ProfileModifyRS | Errors | Error
Codeblock | ||||
---|---|---|---|---|
| ||||
<Errors>
<Error Code="321" ShortText="The Profile is anonymized and will not be updated." Type="10"/>
</Errors> |
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
Current
Codeblock | ||||
---|---|---|---|---|
|
<p:InvoiceRecipient |
ProfileID=" |
919" |
ProfileType="Corporation">
<p:FirstName/>
<p:LastName>Agenzia delle Entrate</p:LastName>
<p:Language>it_IT</p:Language>
<p:Notes/>
<p:Gender/>
<p:TaxNumber>06363391001</p:TaxNumber>
<p:AccountingInfos CompanyRegNumber="987654321" FiscalUID="1234567890" PublicAdministrationInd="false" SplitPaymentInd="false" Tax1="06363391001" Tax2="06363391001"/>
</p:InvoiceRecipient> |
We extend the AccountingInfos with the attributes
@FiscalUID
@CompanyRegNumber
IPA-1380
IO_InvoiceFiscalizeNotifRQ
IO_InvoiceFiscalizeRQ
IO_InvoiceFiscalizeRQ | Invoice | InvoiceRecipient | AccountingInfos
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:InvoiceRecipient ProfileID="1234" ProfileType="Customer">
<p:FirstName>Jessica</p:FirstName>
<p:LastName>Alba</p:LastName>
<p:BirthDate>1980-10-10</p:BirthDate>
<p:Gender>F</p:Gender>
<p:Addresses/>
<p:AccountingInfos PublicAdministrationInd="true" SplitPaymentInd="true"/>
</p:InvoiceRecipient> |
Due to legal requirements in Italy, we extend
the AccountingInfos with the attributes
@PublicAdministrationInd
@SplitPaymentInd
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
outbound
inbound
Customer | TPA_Extensions | px:ProfileInfoExtensions | px:AccountingInfos
Codeblock | ||||
---|---|---|---|---|
| ||||
<px:ProfileInfoExtensions>
<px:AddressTypes/>
</px:ContactDetails>
</px:PersonInfos>
<px:AccountingInfos CompanyRegNumber="98711654321" FiscalUID="1525234567890"/>
</px:ProfileInfoExtensions> |
We extend the AccountingInfos with the attributes
@FiscalUID
@CompanyRegNumber
IPA-1377
IPA-1378
OTA_HotelResNotif
outbound
inbound
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:AccountingInfos
Codeblock | ||||
---|---|---|---|---|
| ||||
<px:ProfileInfoExtensions>
<px:AddressTypes/>
</px:ContactDetails>
</px:PersonInfos>
<px:AccountingInfos CompanyRegNumber="98711654321" FiscalUID="1525234567890"/>
</px:ProfileInfoExtensions> |
We extend the AccountingInfos with the attributes
@FiscalUID
@CompanyRegNumber
IPA-1377
IPA-1378
OTA_HotelStayInfoNotifRQ | StayInfos | StayInfo | HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile| Customer | TPA_Extensions | px:ProfileInfoExtensions | px:AccountingInfos
Codeblock | ||||
---|---|---|---|---|
|
<RoomTypeAllocations RoomTypePickUpStatus="X">
<RoomTypeAllocation End="2022-08-02" NumberOfUnits="1" 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>
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.
<px:ProfileInfoExtensions>
<px:AddressTypes/>
</px:ContactDetails>
</px:PersonInfos>
<px:AccountingInfos CompanyRegNumber="98711654321" FiscalUID="1525234567890"/>
</px:ProfileInfoExtensions> |
We extend the AccountingInfos with the attributes
@FiscalUID
@CompanyRegNumber
IPA-1377
IPA 24.12
Anker IPA 24.12 IPA 24.12
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | ResGuests | ResGuest | TPA_Extensions | px:GuestStayExtensions | px:StayInfo
HTNG_HotelFolioNotifRQ
HTNG_HotelFolioRS
outbound
inbound
HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | FolioIDs | FolioID
or/and
HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | RevenueDetailItems | RevenueDetailItem | FolioIDs | FolioIDCodeblock | ||||
---|---|---|---|---|
|
<TPA_ |
Extensions>
<px:GuestStayExtensions>
<px:StayInfo Arrival="2024-02-07T12:00:00+01:00" Departure="2024-02-08T12:00:00+01:00" PrimaryInd="true" Role="LinkedProfile" Status="Reserved"/>
<px:TelephoneSetting ClassOfService="3"/>
</px:GuestStayExtensions>
</TPA_Extensions> |
There is now a new function in the PMS so that the PrimaryInd= true attribute can be used to specify the profile of the leading company OR the travel agency within the same reservation.
IPA-1357
IPA-1358
IPA 24.08
Anker IPA 24.08 IPA 24.08
IO_SystemDataRS
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 | ||||
---|---|---|---|---|
|
<ns2:GuestRelationTypes> <ns2:GuestRelationType Code="Abuelo" ID="1" ID_Context="protelIO" PrimaryInd="false" Visible="true"> <ns2:Name Language="es_ES">Abuelo</ns2:Name> </ns2:GuestRelationType> <ns2:GuestRelationType Code="Abuela" ID="2" ID_Context="protelIO" PrimaryInd="false" Visible="true"> <ns2:Name Language="es_ES">Abuela</ns2:Name> </ns2:GuestRelationType> <ns2:GuestRelationType Code="Padre" ID="3" ID_Context="protelIO" |
PrimaryInd=" |
false" |
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
language | xml |
---|---|
collapse | true |
Visible="true"> <ns2:Name Language="es_ES">Padre</ns2:Name> </ns2:GuestRelationType> <ns2:GuestRelationType Code="Madre" ID="4" ID_Context="protelIO" PrimaryInd="false" Visible="true"> <ns2:Name Language="es_ES">Madre</ns2:Name> </ns2:GuestRelationType> <ns2:GuestRelationType Code="Tio" ID="5" ID_Context="protelIO" PrimaryInd="false" Visible="true"> <ns2:Name Language="es_ES">Tio</ns2:Name> </ns2:GuestRelationType> <ns2:GuestRelationType Code="Tia" ID="6" ID_Context="protelIO" PrimaryInd="false" Visible="true"> <ns2:Name Language="es_ES">Tia</ns2:Name> </ns2:GuestRelationType> <ns2:GuestRelationType Code="Tutor Legal" ID="7" ID_Context="protelIO" PrimaryInd="false" Visible="true"> <ns2:Name Language="es_ES">Tutor Legal</ns2:Name> </ns2:GuestRelationType> <ns2:GuestRelationType Code="Hijo" ID="8" ID_Context="protelIO" PrimaryInd="false" Visible="true"> <ns2:Name Language="es_ES">Hijo</ns2:Name> </ns2:GuestRelationType> <ns2:GuestRelationType Code="Hija" ID="9" ID_Context="protelIO" |
PrimaryInd="false" Visible="true"> |
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> |
<ns2:Name Language="es_ES">Hija</ns2:Name>
</ns2:GuestRelationType>
<ns2:GuestRelationType Code="Nieto" ID="10" ID_Context="protelIO" PrimaryInd="false" Visible="true">
<ns2:Name Language="es_ES">Nieto</ns2:Name>
</ns2:GuestRelationType>
<ns2:GuestRelationType Code="Nieta" ID="11" ID_Context="protelIO" PrimaryInd="false" Visible="true">
<ns2:Name Language="es_ES">Nieta</ns2:Name>
</ns2:GuestRelationType>
<ns2:GuestRelationType Code="Sobrino" ID="12" ID_Context="protelIO" PrimaryInd="false" Visible="true">
<ns2:Name Language="es_ES">Sobrino</ns2:Name>
</ns2:GuestRelationType>
<ns2:GuestRelationType Code="Sobrina" ID="13" ID_Context="protelIO" PrimaryInd="false" Visible="true">
<ns2:Name Language="es_ES">Sobrina</ns2:Name>
</ns2:GuestRelationType>
<ns2:GuestRelationType Code="Primo" ID="14" ID_Context="protelIO" PrimaryInd="false" Visible="true">
<ns2:Name Language="es_ES">Primo</ns2:Name>
</ns2:GuestRelationType>
<ns2:GuestRelationType Code="Prima" ID="15" ID_Context="protelIO" PrimaryInd="false" Visible="true">
<ns2:Name Language="es_ES">Prima</ns2:Name>
</ns2:GuestRelationType>
</ns2:GuestRelationTypes> |
IPA 24.02
Anker IPA 24.02 IPA 24.02
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
outbound
inbound
Customer | TPA_Extensions | px:ProfileInfoExtensions | px:AccountingInfos
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> |
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
OTA_ProfileCreateRQ | Profile | Customer | PersonName | MiddleName
OTA_ProfileModifyRQ | ProfileModify | Customer | PersonName | MiddleNameCodeblock | ||||
---|---|---|---|---|
|
<Customer> <TPA_Extensions> .... <ProfileInfoExtensions> .... <px:AccountingInfos PublicAdministrationInd="true" SplitPaymentInd="true"/> |
</ProfileInfoExtensions>
</TPA_Extensions>
</Customer> |
Due to legal requirements in Italy, we extend
the AccountingInfos with the attributes
@PublicAdministrationInd
@SplitPaymentInd
IPA-1346
IPA-1339
OTA_HotelResNotif
outbound
inbound
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile | Customer
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
OTA_ProfileCreateRQ | Profile | TPA_Extensions | px:ProfileInfoExtensions | px:StatisticalInfos | px:ParentProfile
OTA_ProfileModifyRQ | ProfileModify| TPA_Extensions | px:ProfileInfoExtensions | px:
AccountingInfos
Codeblock | ||||
---|---|---|---|---|
| ||||
<Customer> <TPA_ |
Extensions> .... <ProfileInfoExtensions> .... <px:AccountingInfos PublicAdministrationInd="true" SplitPaymentInd="true"/> </ |
ProfileInfoExtensions> |
</TPA_Extensions> </Customer> |
Due to legal requirements in Italy, we extend
the AccountingInfos with the attributes
@PublicAdministrationInd
@SplitPaymentInd
IPA-1346
IPA-1339
OTA_HotelStayInfoNotifRQ | StayInfos | StayInfo | HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile| Customer | TPA_Extensions | px:ProfileInfoExtensions | px:AccountingInfos
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 "
Codeblock | ||||
---|---|---|---|---|
|
<Customer> <TPA_Extensions> |
.... |
<ProfileInfoExtensions> |
.... |
<px:AccountingInfos PublicAdministrationInd="true" SplitPaymentInd="true"/> </ProfileInfoExtensions> </TPA_Extensions> </Customer> |
Due to legal requirements in Italy, we extend
the AccountingInfos with the attributes
@PublicAdministrationInd
@SplitPaymentInd
outbound
inbound
OTA_HotelAvailNotifRQ |
@MessageContentCode
no changes in xml - new values for MessageContentCode
We use the value 4 for the restrictions on rate group level.
OTA_ResRetrieveRS | ReservationsList | HotelReservation |
TPA_Extensions | px:ReservationGroupExtensions| px:GroupInfo|
@GroupName
@GroupID
@PrimaryInd
ResGuests | ResGuest | TPA_Extensions | px:ReservationGroupExtensions | px:GroupInfo|
@GroupName
@GroupID
@PrimaryInd
Codeblock | ||
---|---|---|
| ||
<TPA_Extensions>
<px:ReservationGroupExtensions >
<px:GroupInfo GroupName="Viaggi in Stile SpA -2022-01-17" GroupID="113" PrimaryInd="true" />
</px:ReservationGroupExtensions >
</TPA_Extensions> |
Due to Italian legal requirements (Police reports and Tourism Statistics), we're extending the schema to be able to export information about groups: group name, group ID and group leader.
On reservation level, PrimaryInd="true" will be shown for the reservation containing the group leader profile, all other reservations of this group will be shown with PrimaryInd="false".
On profile/resguest level, PrimaryInd="true" will be shown for the group leader profile, all other profiles of this group will be shown with PrimaryInd="false".
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"/> |