Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Info

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

VersionRelease date
24.062024-02-07
24.042024-01-24
24.022024-01-10
23.502023-12-13
23.482023-11-29
23.462023-11-15
23.422023-10-18
23.402023-10-04
23.382023-09-20
23.362023-09-06
23.342023-08-23
23.322023-08-09


Release dates PWS (onPrem) LIVE Environment

VersionRelease date
3.182024-04-17
3.172024-03-06
3.162023-12-20
3.152023-09-20
3.142023-07-05




Affected MessageDirection from protelPMSPathExampleSummaryInternal referenceVersion
TBA IDS
TBA PWS
HTNG_HotelRoomStatusUpdateNotifRQoutbound / inboundOnPrem

Message implemented for outbound and inbound processing.PWS-3202
PWS-3246
TBA
TBA IPA
IO_SystemDataRSoutboundpAir

IO_SystemDataRS | SystemData | Reservations | GuestRelationTypes | GuestRelationType 


Codeblock
languagexml
collapsetrue
<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>




Due to legal requirements in Spain, we are expanding 
the GuestRelationTypes element with the attributes from the relationship types.

IPA-1353TBA
IO_InvoiceFiscalizeRQoutboundpAir

IO_InvoiceFiscalizeRQ | Invoice


Codeblock
languagexml
collapsetrue




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


IPA-1350TBA

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
languagexml
collapsetrue
<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
collapsetrue
<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
languagexml
collapsetrue
<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
languagexml
collapsetrue
<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
languagexml
collapsetrue
<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
languagexml
collapsetrue
<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
languagexml
collapsetrue
<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

PWS 3.15.X 

Anker
PWS 3.15.X
PWS 3.15.X

OTA_ResRetrieveRSoutboundonPremOTA_ResRetrieveRS | ReservationsList | HotelReservation | @RoomNumberLockedIndicator


Codeblock
languagexml
collapsetrue
<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">


This indicates if a room number has been permanently assigned. PWS-36503.15.0
OTA_ResRetrieveRSoutboundonPremOTA_ResRetrieveRS | ReservationsList | HotelReservation | RoomStays | RoomStay | RoomTypes | RoomType | TPA_Extensions | pxs:RoomStatusExtensions | pxs:HouseKeepingInfo | @RoomStatus


Codeblock
languagexml
collapsetrue
<TPA_Extensions>
	<pxs:RoomStatusExtensions xmlns:pxs="http://protel.io/htng/extensions">
		<pxs:HouseKeepingInfo RoomStatus="2"/>
	</pxs:RoomStatusExtensions>
</TPA_Extensions>


Displays the current status of the room for arrivals and in-house guests.PWS-36503.15.0
OTA_HotelResNotifRQoutboundonPremOTA_HotelResNotifRQ | HotelReservations | HotelReservation | @RoomNumberLockedIndicator


Codeblock
languagexml
collapsetrue
<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">


This indicates if a room number has been permanently assigned. PWS-36503.15.0
OTA_HotelResNotifRQoutboundonPremOTA_HotelResNotifRQ | HotelReservations | HotelReservation | RoomStays | RoomStay | RoomTypes | RoomType | TPA_Extensions | pxs:RoomStatusExtensions | pxs:HouseKeepingInfo | @RoomStatus


Codeblock
languagexml
collapsetrue
<TPA_Extensions>
	<pxs:RoomStatusExtensions xmlns:pxs="http://protel.io/htng/extensions">
		<pxs:HouseKeepingInfo RoomStatus="0"/>
	</pxs:RoomStatusExtensions>
</TPA_Extensions>


Displays the current status of the room for arrivals and in-house guests.PWS-36503.15.0
OTA_ProfileCreateRQ 
OTA_ProfileModifyRQ 
outboundOnPrem 

OTA_ProfileCreateRQ | Profile | Customer | PersonName | NameTitle


OTA_ProfileModifyRQ | ProfileModify | Customer | PersonName | NameTitle


Codeblock
languagexml
collapsetrue
<PersonName>
	<NamePrefix>Mr.</NamePrefix>
	<GivenName>Kevin</GivenName>
	<Surname>Boateng</Surname>
	<NameTitle>Prince</NameTitle>
</PersonName>


Added the guest's title to the PersonName element.PWS-36633.15.0

ESB 323

Anker
ESB 323
ESB 323








HTNG_ChargePostingRSoutbound

onPrem

pAir

 HTNG_ChargePostingRS | Errors | Error


Codeblock
languagexml
collapsetrue
<Errors>
                <Error Code="188" Type="1" ShortText="Transaction error - please report. Incomplete Posting flow. Please check the guest folio before a retry."/>
            </Errors>


If no RS is generated by the PMS service within ~55 seconds, then:
  • the ESB will not do retries itself
  • the ESB will generate a generic RS to inform the sender of the RQ about the failure.

! The RQ should not be automatically retried - the posting itself could have happened, yet for some reason - no RS could have been generated by the PMS service (e.g. fiscalization error).

IO-7390ESB 323

PWS 3.14.X 

Anker
PWS 3.14.X
PWS 3.14.X

OTA_ProfileModifyRQIn/OutboundonPremProfileModify | Customer | TPA_Extensions | ProfileInfoExtensions | PersonInfos | Registration


Codeblock
languagexml
collapsetrue
<px:Registration BirthCountry="IT" BirthPlace="CALVIGNASCO" LicensePlate="35347444" /> 


Implmented guest BirthCountry & BirthPlace in profile messages, both inbound and outbound.PWS-35713.14.X
OTA_ProfileModifyRQIn/OutboundonPremProfileModify | Customer | TPA_Extensions | ProfileInfoExtensions | AccountingInfos


Codeblock
languagexml
collapsetrue
<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>


Implemented Tax1 and Tax2 attributes in the profile messages.PWS-35903.14.X
IO_SystemDataRSOutboundonPremIO_SystemDataRS | Reservations | DefaultValues


Codeblock
languagexml
collapsetrue
<?xml version="1.0" encoding="utf-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<env:Header>
		<htnga:CorrelationID>CorrelationID123</htnga:CorrelationID>
		<Source xmlns="http://protel.io/soap" Module="protel.WebServices" ModuleVersion="0.0.0.3" Product="protel On Premise SPE" ProductVersion="23.01000" Service="io.protel.onpremise"/>
	</env:Header>
	<env:Body>
		<ns2:IO_SystemDataRS xmlns:ns2="http://protel.io/soap" CorrelationID="CorrelationID123" TimeStamp="2023-05-11T07:25:25.4624218Z" Version="3.000">
			<ns2:UniqueID ID="3152" ID_Context="protelIO" Type="10"/>
			<ns2:Success/>
			<ns2:SystemData ChainCode="HC1" HotelCode="3152" HotelID="1" HotelName="Hotel Lamm">
				<ns2:UniqueID ID="3152" ID_Context="protelIO" Type="10"/>
				<ns2:Reservations>
					<ns2:DefaultValues ArrivalTime="14:00" DepartureTime="10:00"/>
				</ns2:Reservations>
			</ns2:SystemData>
		</ns2:IO_SystemDataRS>
	</env:Body>
</env:Envelope>


The default arrival / departure time which is set by hotel can be displayed in the reservation section of IO_SystemDataRSPWS-35733.14.X
HTNG_HotelCheckOutNotifRQInboundonPremHTNG_HotelCheckOutNotifRQ | RetransmissionIndicator


Codeblock
languagexml
collapsetrue
<?xml version='1.0' encoding='utf-8'?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
	<soapenv:Header xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">		
	</soapenv:Header>
	<soapenv:Body xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
		<HTNG_HotelCheckOutNotifRQ xmlns="http://htng.org/2014B" EchoToken="PWS_3542_13" CorrelationID="PWS_3542_13" RetransmissionIndicator="true">
			<POS>
				<Source xmlns="http://www.opentravel.org/OTA/2003/05">
					<RequestorID ID="3153" Type="10" ID_Context="protelIO"/>
					<BookingChannel Type="4" Primary="true"/>
				</Source>				
			</POS>
            <PropertyInfo  ChainCode="n/a" HotelCode="3153" HotelCodeContext="protelIO" HotelName="protel"/>
			<AffectedGuests>
				<UniqueID ID="342692" ID_Context="protelIO" Type="14"/>
			</AffectedGuests>
            <HotelReservations>
				<HotelReservation xmlns="http://www.opentravel.org/OTA/2003/05" CreateDateTime="2020-08-14T15:59:15Z" CreatorID="ame1" ResStatus="Checked Out">
					<UniqueID ID="342692" Type="14" ID_Context="protelIO"/>
				</HotelReservation>
			</HotelReservations>
		</HTNG_HotelCheckOutNotifRQ>
	</soapenv:Body>
</env:Envelope>


Implemented the RetransmissionIndicator. When true, indicates the message is being re-sent. The RS message will hold all invoices attached to the reservation for the CO guest. PWS-35423.14.X
OTA_HotelResNotifRQInboundonPremOTA_HotelResNotifRQ | HotelReservations | HotelReservation | Services | Service


Codeblock
languagexml
collapsetrue
<Services>
    <Service ID="RemoveAll" ID_Context="protelIO" Type="16"/>
</Services>


For Transaction Action "Modify":
If Service/@ID="RemoveAll" is provided, then any bookable package/s that are attached to the reservation will be removed from it.
PWS-35563.14.X

IPA 24.02

Anker
IPA 24.02
IPA 24.02









OTA_ProfileCreateRQ

OTA_ProfileModifyRQ

outbound

inbound

pAir

Customer | TPA_Extensions | px:ProfileInfoExtensions  | px:AccountingInfos


Codeblock
languagexml
collapsetrue
<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

24.02

OTA_HotelResNotif

outbound

inbound


pAir

OTA_HotelResNotifRQ | HotelReservations | HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:AccountingInfos


Codeblock
languagexml
collapsetrue
<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

24.02
OTA_HotelStayInfoNotifRQoutboundpAir

OTA_HotelStayInfoNotifRQ | StayInfos | StayInfo | HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile| Customer | TPA_Extensions | px:ProfileInfoExtensions | px:AccountingInfos


Codeblock
languagexml
collapsetrue
<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-133924.02
OTA_HotelAvailNotifRQ

outbound

inbound

pAir

OTA_HotelAvailNotifRQ |

@MessageContentCode

no changes in xml - new values for MessageContentCode

We use the value 4 for the restrictions on rate group level.

IPA-133424.02
OTA_ResRetrieveRS outboundpAir

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
collapsetrue
<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-104024.02

IPA 23.50

Anker
IPA 23.50
IPA 23.50








OTA_HotelInvBlockNotifRQoutboundpAir

OTA_HotelInvBlockNotifRQ | InvBlocks | InvBlock | RoomTypes | RoomType| RatePlans | RatePlan | BaseByGuestAmounts | BaseByGuestAmount | 

@TaxInclusive


 

Codeblock
languagexml
collapsetrue
<RatePlan CurrencyCode="EUR" End="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"/>
                                        <BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="301.00" AmountBeforeTax="273.64" CurrencyCode="EUR" NumberOfGuests="3" TaxInclusive="true"/>
                                        <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-133523.50

IPA 23.48

Anker
IPA 23.48
IPA 23.48








IO_InvoiceFiscalizeRQ

outboundpAirIO_InvoiceFiscalizeRQ | Invoice | DepositReferences | DepositReference


Codeblock
languagexml
collapsetrue
<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>


Due to Poland legal requirements the relation to the deposit invoice in the final invoice should be shown. IPA-115323.48

OTA_ProfileCreateRQ

OTA_ProfileModifyRQ


outbound

inbound

pAirCustomer | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | px:DocumentInfos | px:DocumentInfo


Codeblock
languagexml
collapsetrue
<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 extension in the Customer element with DocumentInfo for the support number of a spanish passport.

IPA-1325

IPA-1327

23.48

OTA_HotelResNotif

outbound

inbound

pAirOTA_HotelResNotifRQ | HotelReservations | HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration  | px:DocumentInfos | px:DocumentInfo


Codeblock
languagexml
collapsetrue
<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 extension in the Customer element with DocumentInfo for the support number of a spanish passport.

IPA-1325

IPA-1327

23.48

OTA_HotelStayInfoNotifRQ

outboundpAirOTA_HotelStayInfoNotifRQ | StayInfos | StayInfo | HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile| Customer | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | px:DocumentInfos | px:DocumentInfo


Codeblock
languagexml
collapsetrue
<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 extension in the Customer element with DocumentInfo for the support number of a spanish passport.
IPA-132723.48

IPA 23.42

Anker
IPA 23.42
IPA 23.42








IO_ResModifyNotifRQinboundpAir

IO_ResModifyNotifRQ | Reservations | Reservation | ProfileReferences | ProfileReference

@RelationToPrimary


Codeblock
languagexml
collapsetrue
<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-131423.42

IPA 23.40

Anker
IPA 23.40
IPA 23.40








OTA_HotelResNotifRQoutbound + inboundpAir

HotelReservation | ResGuests | ResGuest | TPA_Extensions | px:GuestStayExtensions | px:StayInfo

@RelationToPrimary


Codeblock
languagexml
collapsetrue
<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

23.40

IPA 23.38

Anker
IPA 23.38
IPA 23.38








OTA_HotelResNotifRQoutboundpAirno changes in XML
Only the current traces for a reservation are sent (from current protel date onwards) and not the ones from the past.IPA-129523.38

IO_InvoiceFiscalizeRQ

IO_InvoiceFiscalizeNotifRQ

outboundpAir

IO_InvoiceFiscalizeRQ | Invoice | @TaxProcedureCode


IO_InvoiceFiscalizeNotifRQ | Invoice | @TaxProcedureCode


Codeblock
languagexml
collapsetrue
<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

IPA-119023.38

IO_InvoiceFiscalizeRQ

IO_InvoiceFiscalizeNotifRQ

outboundpAir

IO_InvoiceFiscalizeRQ | Invoice |  Charges | Item | @GroupCode


IO_InvoiceFiscalizeNotifRQ | Invoice |  Charges | Item | @GroupCode


Codeblock
languagexml
collapsetrue
<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">


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-119023.38

IPA 23.36

Anker
IPA 23.36
IPA 23.36








OTA_ProfileCreateRQ
OTA_ProfileModifyRQ

outboundpAirCustomer | TPA_Extensions | px:ProfileInfoExtensions | px:DocumentTypes | px:DocumentType 


Codeblock
languagexml
collapsetrue
<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>


Extension of the TPA extension in the Customer element with DocumentType. IPA-127523.36

IPA 23.32

Anker
IPA 23.32
IPA 23.32








OTA_HotelResNotifRQ, OTA_ResRetrieveRS outboundpAirRoomStay | RoomTypes | RoomType | TPA_Extension | RoomStatusExtensions


Codeblock
languagexml
collapsetrue
<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>


For reservations that will arrive on the business day, the status of the room (clean, dirty, etc.) will be sent with. 

Possible values: IO Types#RoomStatusType

IPA-125923.32


...