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-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
ESB Update
Dear Integrations Partner,To ensure that our mutual customers always benefit from our best possible service, we carry out regular updates of our software modules.
On Monday, 26February2024, we will also be updating the ESB (Enterprise Service Bus). This is going to ensure the general performance of the connected modules.
Update procedure
The update time will be approx. 12 to 14 CET. We will of course pay close attention to ensure that no messages are lost.
For this purpose, all messages occurring during this time are queued. The ESB update is then executed.
The queue will then be resolved step by step and the messages will be resent.
Of course, SYNC messages have priority by default, but the messages via the ESB are processed with a certain delay - the length of this delay depends on the length of the queue.
Plan your installations accordingly!
This is why we kindly ask you to schedule planned new installations and data synchonisations outside this time period, if possible.
Possible transaction timeouts can occur due to the delays, which can especially be the case when using kiosk systems.
Please inform your customers accordingly in order to avoid large support volumes in advance!
We would once again like to point out that messages will not be lost - they will only be delayed!
If you still have questions, please feel free to contact ourprotel.I/O Team.
Thank you for your understanding!
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
) 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 |
Affected Message | Direction from protel | PMS | Path | Example | Summary | Internal reference | Version | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TBA IDS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TBA PWSESB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bulk Export from SMP UIHTNG_HotelRoomStatusUpdateNotifRQ | outbound / inbound | OnPrem | Message implemented for outbound and inbound processing. | PWS-3202 PWS-3246 | TBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TBA IPA | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 |
| IO_SystemDataRS | outbound | pAir | IO_SystemDataRS | SystemData | Reservations | GuestRelationTypes | GuestRelationType |
| In the ReadRQ it is now possible to request the RoomType in addition to the time period and reservation status. | PWS-3822 | TBA | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TBA IPA | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IO_SystemDataRS | outbound | pAir | no schema change but we will expand for pAir the attributes
| no schema change | In the pAir SystemData in Rate Configuration you can define Discount Groups. With the extension for pAir we send the attributes
| IPA-1467 | TBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OTA_ProfileCreateRQ OTA_ProfileModifyRQ | outbound / inbound | pAir | 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 | TBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OTA_HotelResNotifRQ OTA_ProfileCreateRQ OTA_ProfileModifyRQ OTA_HotelStayInfoNotifRQ | outbound / inbound | pAir | OTA_ProfileModifyRQ | ProfileModify | Customer | Document |
| To be legal in Austria, a new Attribute is added to the Document Element with the label "Issuing Authorities" | IPA-1369 | TBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IO_SystemDataRQ | inbound | pAir | IO_SystemDataRQ | Request | Rates |
| The vendor should be able to tell us in the RQ with the attribute IncludeInvisible="true or false" which rates he wants to see.
| IPA-1404 | TBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IO_SystemDataRS | outbound | pAir | IO_SystemDataRS | SystemData | Rates | RatePlans | RatePlan |
| The vendor should be able to tell us in the RQ with the attribute IncludeInvisible="true or false" which rates he wants to see.
| IPA-1403 | TBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | 3.19.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OTA_HotelRatePlanNotifRQ | inbound | OnPrem | no schema changes |
| PWS-3821 | 3.19.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IO_SystemDataRQ | inbound | OnPrem | IO_SystemDataRQ | Request | Rates @IncludeInvisible |
| 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 | 3.19.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IO_SystemDataRS | outbound | OnPrem | IO_SystemDataRS | SystemData | Reservations | GuestRelationTypes | GuestRelationType |
the GuestRelationTypes element with the attributes from the relationship types. | IPA-1353 | TBA | IO_InvoiceFiscalizeRQ | outbound | pAir | Added the GuestRelationType to the SystemDataRS. | PWS-3835 | 3.19.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PWS 3.17.X | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OTA_HotelInvBlockNotifRQ | outbound | OnPrem | OTA_HotelInvBlockNotifRQ | InvBlocks | InvBlock | RoomTypes | RoomType | RatePlans | RatePlan@TaxInclusiveIO_InvoiceFiscalizeRQ | Invoice |
Due to legal requirements in Portugal, we are expanding @SystemFiscalCode1 for ATCUD @SystemFiscalCode2 for NIF @SystemFiscalCode3 for SAFT | IPA-1350 | TBA |
| Flag is linked to the system setup for rate values. If the PWS is set to send "net values only", the attribute will be send with "false". If the system is set up to send "gross values only" OR "net and gross values", the attribute will be send with "true". | PWS-3729 | 3.17.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTNG_HotelRoomStatusUpdateNotifRQ | outbound / inbound | OnPrem | Message implemented for outbound and inbound processing. | PWS-3202 PWS-3246 | 3.17.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PWS 3.PWS 3.16.X | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OTA_ProfileCreateRQ | outbound | OnPrem | OTA_ProfileCreateRQ | Profile | 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 |
| 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 |
| The attribute occupation was added. | PWS-3714 | 3.16.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IO_ResModifyNotifRQ | inbound | OnPrem | IO_ResModifyNotifRQ | Reservations | Reservation | ProfileReferences | ProfileReference @RelationToPrimary |
| 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 | 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 |
| 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 | 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 |
| 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 |
| 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
|
| Corrected the xml to follow the schema. | PWS-3711 | 3.16.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ESB 323 |
| PWS 3.15.X | PWS 3.15.X |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTNG_ChargePostingRSOTA_ResRetrieveRS | outbound | onPrem pAir | HTNGOTA_ResRetrieveRS ChargePostingRS | ReservationsList Errors | HotelReservation | @RoomNumberLockedIndicatorError |
| This indicates if a room number has been permanently assigned. | PWS-3650 | 3.15.0 | OTA_ResRetrieveRS | outbound | onPrem | OTA_ResRetrieveRS | ReservationsList | HotelReservation | RoomStays | RoomStay | RoomTypes | RoomType | TPA_Extensions | pxs:RoomStatusExtensions | pxs:HouseKeepingInfo | @RoomStatus |
Codeblock | ||||
---|---|---|---|---|
| ||||
<TPA_Extensions>
<pxs:RoomStatusExtensions xmlns:pxs="http://protel.io/htng/extensions">
<pxs:HouseKeepingInfo RoomStatus="2"/>
</pxs:RoomStatusExtensions>
</TPA_Extensions> |
<Errors>
<Error Code="188" Type="1" ShortText="Transaction error - please report. Incomplete Posting flow. Please check the guest folio before a retry."/>
</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 | ||||
---|---|---|---|---|
| ||||
<HotelReservation CreateDateTime="2022-12-07T11:40:52.250Z" CreatorID="protel 1" LastModifierID="protel 1" LastModifyDateTime="2023-05-23T14:08:29.770Z" ResStatus="Reserved" RoomNumberLockedIndicator="false"> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<TPA_Extensions>
<pxs:RoomStatusExtensions xmlns:pxs="http://protel.io/htng/extensions">
<pxs:HouseKeepingInfo RoomStatus="0"/>
</pxs:RoomStatusExtensions>
</TPA_Extensions> |
OTA_ProfileModifyRQ
OTA_ProfileCreateRQ | Profile | Customer | PersonName | NameTitle
OTA_ProfileModifyRQ | ProfileModify | Customer | PersonName | NameTitle
Codeblock | ||||
---|---|---|---|---|
| ||||
<PersonName>
<NamePrefix>Mr.</NamePrefix>
<GivenName>Kevin</GivenName>
<Surname>Boateng</Surname>
<NameTitle>Prince</NameTitle>
</PersonName> |
<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
onPrem
pAir
Codeblock | ||||
---|---|---|---|---|
| ||||
<Errors> <ns2:InvoiceFormats> <Error<ns2:InvoiceFormat Code="188ItemsSortDate" Type="1" ShortText="Transaction error - please report. Incomplete Posting flow. Please check the guest folio before a retry."/>> <ns2:Description Language="en_US">Single items, sort by date</ns2:Description> </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).
Codeblock | ||||
---|---|---|---|---|
| ||||
<px:Registration BirthCountry="IT" BirthPlace="CALVIGNASCO" LicensePlate="35347444" /> |
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> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<?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> |
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"> </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> </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> <PropertyInfo ChainCode="n/a" HotelCode="3153" HotelCodeContext="protelIO" HotelName="protel"/> <AffectedGuests> <UniqueID ID="342692" ID_Context="protelIO" Type="14"/> </AffectedGuests> </ns2:InvoiceFormat> <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> |
</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
Codeblock | ||||
---|---|---|---|---|
| ||||
<Services>
<Service ID="RemoveAll" ID_Context="protelIO" Type="16"/>
</Services> |
If Service/@ID="RemoveAll" is provided, then any bookable package/s that are attached to the reservation will be removed from it.
IPA 24.02
Anker IPA 24.0220 IPA 24.0220
OTA_HotelResNotifRQOTA_
ProfileCreateRQOTA_ProfileModifyRQHotelStayInfoNotifRQOTA_ResRetrieveRSHTNG_HotelCheckInNotifRQHTNG_HotelCheckOutNotifRQ
inbound
HotelReservation | ResGuests | ResGuest | TPA_Extensions |
px:
GuestStayExtensions | px:StayInfo
@CheckedIn
@CheckedOut AccountingInfos
Codeblock | ||||
---|---|---|---|---|
| ||||
<Customer> <TPA_Extensions> .... <ProfileInfoExtensions><px:GuestStayExtensions> .... <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 | TPA_Extensions | px:ProfileInfoExtensions | px:AccountingInfos
<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>
| ||||||
Codeblock | ||||||
| ||||||
<Customer> <TPA_Extensions> .... <ProfileInfoExtensions> .... <px:AccountingInfos PublicAdministrationInd<px:ResGuests FullOverlay="true" SplitPaymentIndRole="trueLinkedProfile"/> </ProfileInfoExtensions> </TPA_Extensions> </Customer> |
Due to legal requirements in Italy, we extend
the AccountingInfos with the attributes
@PublicAdministrationInd
@SplitPaymentInd
</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
IPA-1346
IPA-1339
OTA_HotelStayInfoNotifRQ | StayInfos | StayInfo | HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile| Customer | TPA_Extensions | px:ProfileInfoExtensions | px:AccountingInfos
Codeblock | ||||
---|---|---|---|---|
| ||||
<Customer> <TPA_Extensions> .... <ProfileInfoExtensions> .... <px:AccountingInfos PublicAdministrationInd<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" SplitPaymentInd="true"/> </ProfileInfoExtensions> </TPA_Extensions> </Customer>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 ItalyPortugal, we extend are expanding
the AccountingInfos invoice element 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.
attributes from the fiscal code in the systemdata:
@SystemFiscalCode1 for ATCUD
@SystemFiscalCode2 for NIF
@SystemFiscalCode3 for SAFT
IO_InvoiceFiscalizeRQ
IO_InvoiceFiscalizeNotifRQ
OTA_ResRetrieveRSOTAIO_ResRetrieveRS InvoiceFiscalizeRQ | ReservationsList Invoice | HotelReservation InvoiceRecipient |
TPA_Extensions | px:ReservationGroupExtensions| px:GroupInfo|
@GroupName
@GroupID
@PrimaryInd
ResGuests | ResGuest | TPA_Extensions | px:ReservationGroupExtensions | px:GroupInfo|
@GroupName
@GroupID
@PrimaryInd
AccountingInfos
Codeblock | ||
---|---|---|
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".
IPA 23.50
<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
OTA_HotelInvBlockNotifRQ | InvBlocks | InvBlock | RoomTypes | RoomType| RatePlans | RatePlan | BaseByGuestAmounts | BaseByGuestAmount |
@TaxInclusive
Codeblock | ||||
---|---|---|---|---|
| ||||
<RatePlan<p:InvoiceRecipient CurrencyCodeProfileID="EUR1234" EndProfileType="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 | ||||
---|---|---|---|---|
| ||||
<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
Codeblock | ||||
---|---|---|---|---|
| ||||
<TPA_Extensions> <px:GuestStayExtensions> "2023-12-15" MaxGuestApplicable="5" RatePlanCode="AK_RACK2" Start="2023-12-13" UnitMultiplier="0"> <BaseByGuestAmts> <BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="152.00" AmountBeforeTax="138.18" CurrencyCode="EUR" NumberOfGuests="1" TaxInclusive="true"/> <BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="200.00" AmountBeforeTax="181.82" CurrencyCode="EUR" NumberOfGuests="2" TaxInclusive="true"/> <px:StayInfo <BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="301.00" AmountBeforeTax="273.64" CurrencyCode="EUR" NumberOfGuests="3" TaxInclusive="true"Arrival="2024-02-07T12:00:00+01:00" Departure="2024-02-08T12:00:00+01:00" PrimaryInd="true" Role="LinkedProfile" Status="Reserved"/> <px:TelephoneSetting <BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="400.00" AmountBeforeTax="363.64" CurrencyCode="EUR" NumberOfGuests="4" TaxInclusive="true"/> <BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="501.00" AmountBeforeTax="455.45" CurrencyCode="EUR" NumberOfGuests="5" TaxInclusive="true"/> <BaseByGuestAmt AgeQualifyingCode="8" AmountAfterTax="9.00" AmountBeforeTax="8.18" CurrencyCode="EUR" NumberOfGuests="0" TaxInclusive="true"/> <BaseByGuestAmt AgeQualifyingCode="8" AmountAfterTax="9.00" AmountBeforeTax="8.18" CurrencyCode="EUR" NumberOfGuests="1" TaxInclusive="true"/> <BaseByGuestAmt AgeQualifyingCode="8" AmountAfterTax="9.00" AmountBeforeTax="8.18" CurrencyCode="EUR" NumberOfGuests="2" TaxInclusive="true"/> <BaseByGuestAmt AgeQualifyingCode="8" AmountAfterTax="9.00" AmountBeforeTax="8.18" CurrencyCode="EUR" NumberOfGuests="3" TaxInclusive="true"/> <BaseByGuestAmt AgeQualifyingCode="8" AmountAfterTax="9.00" AmountBeforeTax="8.18" CurrencyCode="EUR" NumberOfGuests="4" TaxInclusive="true"/> </BaseByGuestAmts> <RateDescription Name="RateGroup"> <Text TextFormat="PlainText">PUB</Text> </RateDescription> <MarketCode MarketCode="BUS" MarketCodeName="BUS"/> </RatePlan> |
This indicates if the rate accommodation is set with TAA including taxes or excluding taxes.
IPA 23.48
IO_InvoiceFiscalizeRQ
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:DepositReferences>
<p:DepositReference InvoiceDate="2022-03-07T16:08:19+01:00" InvoiceCode="69" Fiscalized="false" ExternallyFiscalized="false" Type="Reservation" PastEndOfDay="true" Open="false" Void="false" InvoiceID="537" BusinessDate="2022-03-07"/>
</p:DepositReferences> |
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
outbound
inbound
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> |
the TPA extension in the Customer element with DocumentInfo for the support number of a spanish passport.
IPA-1325
IPA-1327
OTA_HotelResNotif
outbound
inbound
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> |
the TPA extension in the Customer element with DocumentInfo for the support number of a spanish passport.
IPA-1325
IPA-1327
OTA_HotelStayInfoNotifRQ
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> |
the TPA extension in the Customer element with DocumentInfo for the support number of a spanish passport.
IPA 23.42
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 soon be transferred by the additional attribute with.
This is for example important for police reports.
IPA 23.40
HotelReservation | ResGuests | ResGuest | TPA_Extensions | px:GuestStayExtensions | px:StayInfo
@RelationToPrimary
Codeblock | ||||
---|---|---|---|---|
| ||||
<GuestStayExtensions xmlns:htng="http://htng.org/2014B" xmlns:p="http://protel.io/soap" xmlns:px="http://protel.io/htng/extensions">
<StayInfo Role="BookerAndArrivingGuest" RelationToPrimary="Abuelo" PrimaryInd="false" />
</GuestStayExtensions> |
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.
IPA-1302
IPA-1304
IPA 23.38
IO_InvoiceFiscalizeRQ
IO_InvoiceFiscalizeNotifRQ
IO_InvoiceFiscalizeRQ | Invoice | @TaxProcedureCode
IO_InvoiceFiscalizeNotifRQ | Invoice | @TaxProcedureCode
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:Invoice BusinessDate="2023-08-10" DeliveryDate="2023-08-10" ExternallyFiscalized="false" FiscalCode="123456" FiscalCodeID="2" FiscalCodeName="Nota de plata" FiscalDate="2023-08-10T08:19:02+03:00" Fiscalized="true" InvoiceCode="RE_8623" InvoiceDate="2023-08-10T08:19:02+03:00" InvoiceID="4321" Open="false" PastEndOfDay="false" Type="Reservation" User="Beniamin Icobescu" UserTaxNo="" Void="false" TaxProcedureCode="FP"> |
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
IO_InvoiceFiscalizeRQ
IO_InvoiceFiscalizeNotifRQ
IO_InvoiceFiscalizeRQ | Invoice | Charges | Item | @GroupCode
IO_InvoiceFiscalizeNotifRQ | Invoice | Charges | Item | @GroupCode
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:Charges>
<p:Item ID="230326" PostingAccount="4" Quantity="1" ServiceDate="2023-08-09" SystemDate="2023-08-09T20:19:35+03:00" TaxCode="19%" TaxRate="19.000000000" Type="Article" GroupCode="GTU01"> |
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
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" 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">
<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
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 23.36
Anker IPA 23.36 IPA 23.36
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
outbound
inbound
Customer | TPA_Extensions |
px:ProfileInfoExtensions |px:
DocumentTypesProfileInfoExtensions | px:
DocumentTypeAccountingInfos
Codeblock | ||||
---|---|---|---|---|
| ||||
<Customer> <TPA_Extensions> <px:ProfileInfoExtensions> <px:AddressTypes/> <px:ContactDetails> <px:AdditionalInfo/> </px:ContactDetails> <px:PersonInfos> <px:LastNameAtBirth/> <px:FirstNameAtBirth/> <px:LastNameMother/> <px:FirstNameMother/> <px:Language DefaultInd="true">en-us</px:Language> <px:VipCodes/> <px:MarketingCodes/> <px:Keywords/> </px:PersonInfos> <px:ProfileStatus/> <px:DocumentTypes> <px:DocumentType DefaultInd="false" DisplaySequence="-1" ID="199" ID_Context="protelIO" RPH="cd434bf7-2fc0-4245-8a1d-f1cd0fd41695" Type="Checking for validation">Checking for validation</px:DocumentType> <px:DocumentType DefaultInd="true" DisplaySequence="1" ID="350" ID_Context="protelIO" RPH="9b313b86-b33a-49da-87aa-8c81dd4ea22c" Type="Identity card">Identity card</px:DocumentType> </px:DocumentTypes> <px:StatisticalInfos/> <px:Traces/> <px:LogEntries/> <px:Memberships/> </px:ProfileInfoExtensions> <px:UserDefinedFieldExtensions> <px:UserDefinedField Name="BM" Type="List">August</px:UserDefinedField> <px:UserDefinedField Name="AM" Type="List">September</px:UserDefinedField> <px:UserDefinedField Name="DR" Type="List">Allergy</px:UserDefinedField> </px:UserDefinedFieldExtensions> </TPA_Extensions> |
IPA 23.32
Codeblock | ||||
---|---|---|---|---|
| ||||
<RoomStays>
<RoomStay MarketCode="CORP_GRP" SourceOfBusiness="3PAR">
<RoomTypes>
<RoomType IsRoom="true" NumberOfUnits="1" RoomID="53" RoomType="51" RoomTypeCode="CLASTW">
<TPA_Extensions>
<px:RoomStatusExtensions>
<px:HouseKeepingInfo RoomStatus="1"/>
</px:RoomStatusExtensions>
</TPA_Extensions>
</RoomType>
</RoomTypes> |
....
<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 | 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
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".
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