Versionen im Vergleich

Schlüssel

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

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
22
24.
24
46
2022
2024-
06
12-
15
11
22
24.
22
42
2022
2024-
06
11-
01
13
22
24.
20
42
2022
2024-
05-1822.182022-05-0422.162022-04-2022.142022-04-0622.122022-03-2322.102022-03-0922.082022-02-2322.062022-02-09
11-06  NO regular Release
24.422024-10-30 NO regular Release
24.422024-10-16 NO regular Release
24.382024-09-30
24.382024-09-18 NO regular Release
24.362024-09-04 - IPA update will be now every 4 weeks
24.342024-08-21
24.322024-08-07 NO regular Release
24.302024-07-24 NO regular Release
24.292027-07-17
24.282024-07-10 NO regular Release
24.262024-06-26 NO regular Release
24.242024-06-12
24.222024-05-29
24.202024-05-15
24.18NO regular Release on Wednesday 01.05.2024 due to public Holiday in Germany
24.162024-04-17
24.142024-04-03
24.122024-03-20
24.102024-03-06
24.082024-02-21
24.062024-02-07
24.042024-01-24
24.022024-01-10


Release dates PWS (onPrem) LIVE Environment

VersionRelease date
3.192024-10
3.182024-05-22*
3.172024-03-06
3.162023-12-20

*: delayed

Release dates ESB (I/O) LIVE Environment

VersionRelease date
2.6.32024-11-06
2.6.22024-09-25
2.6.12024-08-21
2.6.02024-07-15
2.5.32024-06-10
2.5.22024-05-15
2.5.12024-04-10
2.5.02024-02-26




TBA IDS

TBA ESB
Bulk Export from SMP UIoutbound

OnPrem

pAir

n/ano schema changeEach 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-2928TBA
Bulk Export from SMP UIoutbound

OnPrem

pAir

n/ano 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-82292.5.4








TBA PWS
OTA_ReadRQ/OTA_ResRetrieveRSinboundonPremiseextend the Reservation search by roomtypes


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


In the ReadRQ it is now possible to request the RoomType in addition to the time period and reservation status.PWS-3822TBA
TBA IPA

IO_SystemDataRS

outboundpAir

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

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 / inboundpAir

OTA_ProfileModifyRQ | ProfileModify | Customer | Document


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

TBA
IO_SystemDataRQinboundpAir

IO_SystemDataRQ | Request | Rates 

Release dates PWS (onPrem) LIVE Environment

VersionRelease date3.82022-05-253.72022-03-303.62022-02-02

Current

Affected MessageDirection from protelPMSPathExampleSummaryInternal referenceVersion
TBA IDS
TBA PWS
OTA_HotelInvBlockNotifRQoutboundonPremiseOTA_HotelInvBlockNotifRQ | InvBlocks | InvBlock | RoomTypes | RoomType | RoomTypeAllocations | RoomTypeAllocation 
Codeblock
languagexml
collapsetrue
<RoomTypeAllocations RoomTypePickUpStatus="X">
    <RoomTypeAllocation End="2022-08-01" NumberOfUnits="1" Start="2022-08-01"/>
    <RoomTypeAllocation End="2022-08-02" NumberOfUnits="1" Start="2022-08-02"/>
    <RoomTypeAllocation End="2022-08-03" NumberOfUnits="0" Start="2022-08-03"/>
    <RoomTypeAllocation End="2022-08-04" NumberOfUnits="0" Start="2022-08-04"/>
    <RoomTypeAllocation End="2022-08-05" NumberOfUnits="0" Start="2022-08-05"/>
    <RoomTypeAllocation End="2022-08-06" NumberOfUnits="1" Start="2022-08-06"/>
    <RoomTypeAllocation End="2022-08-07" NumberOfUnits="0" Start="2022-08-07"/>
    <RoomTypeAllocation End="2022-08-08" NumberOfUnits="0" Start="2022-08-08"/>
    <RoomTypeAllocation End="2022-08-09" NumberOfUnits="0" Start="2022-08-09"/>
    <RoomTypeAllocation End="2022-08-10" NumberOfUnits="0" Start="2022-08-10"/>
</RoomTypeAllocations>

Expected

Codeblock
languagexml
collapsetrue
<RoomTypeAllocations RoomTypePickUpStatus="X">
    <RoomTypeAllocation End="2022-08-02" NumberOfUnits="2" Start="2022-08-01"/>
    <RoomTypeAllocation End="2022-08-05" NumberOfUnits="0" Start="2022-08-03"/>
    <RoomTypeAllocation End="2022-08-06" NumberOfUnits="3" Start="2022-08-06"/>
    <RoomTypeAllocation End="2022-08-10" NumberOfUnits="0" Start="2022-08-07"/>
</RoomTypeAllocations>

RoomTypeAllocation blocks will be grouped for consecutive dates per @NumberOfUnits. This will result in a shorter message. No schema change. Valid for all @RoomTypePickUpStatus supported.

PWS-3193

HTNG_HotelFolioNotifRQ

HTNG_HotelFolioRS

outbound

inbound

onPremise

HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | FolioIDs | FolioID

or/and

HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | RevenueDetailItems | RevenueDetailItem | FolioIDs | FolioID

Codeblock
languagexml
collapsetrue
<htng:HTNG_HotelFolioNotifRQ>
	<htng:Folios>
		<htng:Folio>
			<htng:RevenueDetails>
				<htng:RevenueDetail>
					<FolioIDs>
						<FolioID>OResID | xyz <FolioID/>
						<FolioID>OGstID | xyz <FolioID/>

Add the "OResID" and "OGstID" to the FolioID Element, to display the  "originalResID" and "originalGuestID"  if an items was shifted from one Reservation to another.

If an Item was not shifted, the Information will not be displayed

PWS-3151

OTA_ProfileCreateRQ 

OTA_ProfileModifyRQ 

inboundonPremiseOTA_ProfileModifyRQ | ProfileModify | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:Salutation
Codeblock
languagexml
collapsetrue
<OTA_ProfileModifyRQ>
	<ProfileModify>
			<TPA_Extensions>
				<px:ProfileInfoExtensions>
					<px:PersonInfos>       <px:Salutation ID="1" ID_Context="protelIO" Type="Salutation">Dear Mrs. and Miss. Mustermann</px:Salutation>
The Saluation will be updated according to the value in the TPA Extension.PWS-3179TBA IPAOTA_HotelInvBlockNotifRQoutboundpAirOTA_HotelInvBlockNotifRQ | InvBlocks | InvBlock | RoomTypes | RoomType | RoomTypeAllocations | RoomTypeAllocation Current


Codeblock
languagexml
collapsetrue
<RoomTypeAllocations RoomTypePickUpStatus="X
    <p:Request xmlns:p="http://protel.io/soap">
        
<RoomTypeAllocation
<p:UniqueID 
End
Type="
2022-08-02
10" 
NumberOfUnits
ID="
2
2575" 
Start
ID_Context="
2022-08-01
protelIO"/>
        
<RoomTypeAllocation
<p:Rates 
End
IncludeInvisible="
2022-08-06" NumberOfUnits="3" Start="2022-08-06"
true or false"/>
    </
RoomTypeAllocations>

Expected

Codeblock
languagexml
collapsetrue
<RoomTypeAllocations RoomTypePickUpStatus="X">
    <RoomTypeAllocation End="2022-08-02" NumberOfUnits="2" Start="2022-08-01"/>
    <RoomTypeAllocation End="2022-08-05" NumberOfUnits="0" Start="2022-08-03"/>
    <RoomTypeAllocation End="2022-08-06" NumberOfUnits="3" Start="2022-08-06"/>
    <RoomTypeAllocation End="2022-08-10" NumberOfUnits="0" Start="2022-08-07"/>
</RoomTypeAllocations>
If @RoomTypePickUpStatus is in ("4","5","13") and there are periods where there are no picked up reservations, then pAir will be still sending the "empty" periods as NumberOfUnits="2". No schema change.IPA-1050

HTNG_HotelFolioNotifRQ

HTNG_HotelFolioRS

outbound

inbound

pAir

HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | FolioIDs | FolioID

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

TBAIO_SystemDataRSoutboundpAir 

IO_SystemDataRS | SystemData | Rates | RatePlans | RatePlan


Codeblock
languagexml
collapsetrue


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

TBA

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

3.19.0

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

3.19.0

IO_SystemDataRQ

inbound

OnPrem

IO_SystemDataRQ | Request | Rates @IncludeInvisible


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

3.19.0

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
Codeblock
languagexml
collapsetrue
<htng:HTNG_HotelFolioNotifRQ>
	<htng:Folios>
		<htng:Folio>
			<htng:RevenueDetails>
				<htng:RevenueDetail>
					<FolioIDs>
						<FolioID>OResID | xyz <FolioID/>
						<FolioID>OGstID | xyz <FolioID/>

Add the "OResID" and "OGstID" to the FolioID Element, to display the  "originalResID" and "originalGuestID"  if an items was shifted from one Reservation to another.

If an Item was not shifted, the Information will not be displayed

IPA-1043PWS 3.8.X  AnkerPWS 3.8.XPWS 3.8.X

OTA_ProfileCreateRQ 

OTA_ProfileModifyRQ 

inboundonPremiseOTA_ProfileModifyRQ | ProfileModify | Customer | TPA_Extensions | ProfileInfoExtensions | SalutationWhen we receive a new salutation, it is now no longer overwritten. If the TPA_Extensions part is completely not in the XML, then the personal salutation is also not touched. In addition, the personal salutation is changed back if there is no personal salutation in the TPA_Extensions part. PWS-3179

OTA_ProfileCreateRQ 

OTA_ProfileModifyRQ 

outboundonPremiseOTA_ProfileModifyRQ | ProfileModify | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:Language 
Codeblock
languagexml
collapsetrue
<OTA_ProfileModifyRQ>
	<ProfileModify>
			<TPA_Extensions>
				<px:ProfileInfoExtensions>
					<px:PersonInfos>
						<px:Language DefaultInd="true">en-us</px:Language>
Add the TPA Extension Language to the profile messages.PWS-31503.8.XOTA_ReadRQinboundonPremise

OTA_ReadRQ | ReadRequests | HotelReadRequest | TPA_Extensions | px:ReadRequestExtensions | px:Room | @RoomID

Codeblock
languagexml
collapsetrue
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" CorrelationID="PWS-3130" Version="0" EchoToken="PWS-3130" MaxResponses="2"> <POS> <Source> <RequestorID ID="3152" Type="10
" ID_Context="protelIO"
/
 Visible="true">
		
</Source>
	
</POS> <ReadRequests> <HotelReadRequest> <SelectionCriteria ResStatus="In-house"/> <Verification> <PersonName> <Surname>Duck</Surname>
		<ns2:Name Language="en">Brother</ns2:Name>
				</
PersonName> </Verification> <TPA_Extensions> <px:ReadRequestExtensions xmlns:px="http://protel.io/htng/extensions"> <px:Room RoomID="303" /> </px:ReadRequestExtensions> </TPA_Extension> </HotelReadRequest> </ReadRequests> </OTA_ReadRQ>
ns2:GuestRelationType>


Added the GuestRelationType to the SystemDataRS.

PWS-3835

3.19.0

PWS 3.17.X 

Anker
PWS 3.17.X
PWS 3.17.X

OTA_HotelInvBlockNotifRQ

outboundOnPremOTA_HotelInvBlockNotifRQ | InvBlocks | InvBlock | RoomTypes | RoomType | RatePlans | RatePlan@TaxInclusiveExtend the OTA_ReadRQ to search for the RoomIDPWS-31303.8.XIPA 22.16  AnkerIPA 22.16IPA 22.16OTA_ReadRQinboundpAirOTA_ReadRQ | ReadRequests | HotelReadRequest | TPA_Extensions | px:ReadRequestExtensions | px:Room | @RoomID


Codeblock
languagexml
collapsetrue
<OTA_ReadRQ
<RatePlan 
xmlns
CurrencyCode="
http://www.opentravel.org/OTA/2003/05
EUR" 
CorrelationID
End="
PWS-3130
2100-01-01" MaxGuestApplicable="9999" 
Version
RatePlanCode="
0
StdRateExclTax" 
EchoToken
Start="
PWS
1980-01-
3130
01" 
MaxResponses
TaxInclusive="
2"> <POS> <Source> <RequestorID ID="3152" Type="10" ID_Context="protelIO"/> </Source> </POS> <ReadRequests> <HotelReadRequest> <SelectionCriteria ResStatus="In-house"/> <Verification> <PersonName> <Surname>Duck</Surname> </PersonName> </Verification> <TPA_Extensions> <px:ReadRequestExtensions xmlns:px="http://protel.io/htng/extensions"> <px:Room RoomID="303" /> </px:ReadRequestExtensions> </TPA_Extension> </HotelReadRequest> </ReadRequests> </OTA_ReadRQ>
false">


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

HTNG_HotelRoomStatusUpdateNotifRQ

outbound / inboundOnPrem


Message implemented for outbound and inbound processing.PWS-3202
PWS-32463.17.0

PWS 3.16.X 

Anker
PWS 3.16.X
PWS 3.16.X

OTA_ProfileCreateRQ

OTA_ProfileModifyRQ

outbound

OnPrem

Extend the OTA_ReadRQ to search for the RoomIDIPA-102922.16

OTA_ProfileCreateRQ 

OTA_ProfileModifyRQ

OTA_HotelResNotifRQ  

inbound
outboundpAir

OTA_ProfileCreateRQ | Profile |

TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos |
  • px:LastNameAtBirth
  • px:FirstNameAtBirth
  • px:LastNameMother
  • px:FirstNameMother

    Customer | Document



    OTA_ProfileModifyRQ | ProfileModify |

    TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos |
    • px:LastNameAtBirth
    • px:FirstNameAtBirth
    • px:LastNameMother
    • px:FirstNameMother

    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

    OTA_HotelResNotifRQ | HotelReservations |

    HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile | Customer | RelatedTraveler | TPA_Extensions | px:

    ProfileInfoExtensions | px:PersonInfos

    GuestStayExtensions |

    px:

    LastNameAtBirth
  • px:FirstNameAtBirth
  • px:LastNameMother
  • px:FirstNameMother

    StayInfo


    Codeblock
    languagexml
    collapsetrue
    <TPA_Extensions> <px:ProfileInfoExtensions> <px:AddressTypes /> <px:ContactDetails/> <px:PersonInfos> <px:LastNameAtBirth
    <RelatedTraveler BirthDate="2006-03-05">
    	<UniqueID ID="181493" ID_Context="protelIO" Type="1"/>
    	<PersonName Language="de">
    		<NamePrefix/>
    		
    <px:FirstNameAtBirth/>
    <GivenName>Tick</GivenName>
    		
    <px:LastNameMother
    <MiddleName/>
    		
    <px:FirstNameMother/>
    <Surname>Duck</Surname>
    		
    <px:Language DefaultInd="true">de-de</px:Language>
    <Document DocID="987654321" DocType="5"/>
    	</PersonName>
    	<TPA_Extensions>
    		<px:
    VipCodes/>
    GuestStayExtensions>
    			<px:
    MarketingCodes/> <px:Keywords/> <px:Registration BirthCountry="DE"/> </px:PersonInfos> <px:Salutation DefaultInd="
    StayInfo PrimaryInd="false" 
    DisplaySequence
    RelationToPrimary="
    1" ID="11" ID_Context="protelIO" Type="SALUTATION">Dear Mr.
    Neffe / Nichte"/>
    		</px:
    Salutation>
    GuestStayExtensions>
    	
    <px:ProfileStatus/> <px:DocumentTypes/> <px:StatisticalInfos/> <px:Traces/> <px:LogEntries/> <px:Memberships/> </px:ProfileInfoExtensions> </TPA_Extensions>Added four extra fields to profile messages (and the profile part of the reservation message). These fields are a legal requirement in Hungary and Romania.IPA-104122.16IPA 22.14  AnkerIPA 22.14IPA 22.14
    </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

    HTNG_HotelRoomStatusUpdateNotifRQ outbound/inboundpAirHTNG_HotelRoomStatusUpdateNotifRQ |  Room | RoomType | @NumberOfUnits
    Codeblock
    languagexml
    collapsetrue
    <HTNG_HotelRoomStatusUpdateNotifRQ>
    	<Room>
    		<RoomType NumberOfUnits="1"/>
    Add the Attribute @NumberOfUnits to the RoomType in the HTNG_HotelRoomStatusUpdateNotifRQ IPA-103022.14IPA 22.12  AnkerIPA 22.12IPA 22.12

    OTA_ProfileCreateRQ 

    OTA_ProfileModifyRQ 

    outboundpAirOTA_ProfileCreateRQ | Profile

    | TPA_Extensions | px:

    ProfileInfoExtensions

    ProfileExtensions | px:

    StatisticalInfos

    PersonInfos | px:

    ParentProfile 

     OTA_ProfileModifyRQ | ProfileModify | TPA_Extensions | px:ProfileInfoExtensions | px:StatisticalInfos | px:ParentProfile 

    Codeblock

    Registration | px:Occupation


    Codeblock
    languagexml
    collapsetrue
    <TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
    
        <px:ProfileInfoExtensions>
    
    <px:StatisticalInfos> <px:ParentProfile Name="Duck AG
            <px:PersonInfos>
                <px:MarketingCodes>
                    <px:Code DefaultInd="false" DisplaySequence="0" ID="
    181579
    3" ID_Context="protelIO" Type="
    3
    MARKETINGCODE">Wintergast</
    > </
    px:
    StatisticalInfos> </px:ProfileInfoExtensions> </TPA_Extensions>

     Add the new official XSD TPA_Extensions "px:ParentProfile "

    IPA-1015IPA 22.10 AnkerIPA 22.10IPA 22.10OTA_HotelResNotifRQoutboundpAirOTA_HotelResNotifRQ | HotelReservations | HotelReservation | RoomStays | RoomStay | DepositPayments
    Codeblock
    languagexml
    collapsetrue
    <DepositPayments>
    	<GuaranteePayment>
    		<AmountPercent Amount="77.00" CurrencyCode="AED" ApplyAs="FirstNightDeposit"/>
    		<Deadline AbsoluteDeadline="2019-09-06"/>
    	</GuaranteePayment>
    	<GuaranteePayment>
    		<AcceptedPayments>
    			<AcceptedPayment PaymentTransactionTypeCode="charge">
    				<PaymentCard>
    					<CardType>CASH (AED)</CardType>
    				</PaymentCard>
    			</AcceptedPayment>
    		</AcceptedPayments>
    		<AmountPercent Amount="-55.00" CurrencyCode="AED" ApplyAs="FirstNightDeposit"/>
    	</GuaranteePayment>
    </DepositPayments>
    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

    Add Deposit Paid to outbound Reservation Message.IPA-101422.10IDS 6.095 AnkerIDS 6.095IDS 6.095

    OTA_HotelRatePlanNotifRQ

    outbound

    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
    languagexml
    collapsetrue
    <AdditionalGuestAmounts> <AdditionalGuestAmount AgeQualifyingCode="7" Amount="18.18" CurrencyCode="EUR" MaxAge="3" MinAge="0" TaxInclusive="false
    <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">
            
    <Taxes Amount="1.82" CurrencyCode="EUR"/> </AdditionalGuestAmount>Include tax details per child bucketIDS-5246.095OTA_HotelRateAmountNotifRQoutbound

    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
    languagexml
    collapsetrue
    <AdditionalGuestAmounts> <AdditionalGuestAmount AgeQualifyingCode="7" Amount="18.18" CurrencyCode="EUR" MaxAge="3" MinAge="0" TaxInclusive="false">
        <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

    <Taxes Amount="1.82" CurrencyCode="EUR"/> </AdditionalGuestAmount>Include tax details per child bucketIDS-5246.095PWS 3.7.X  AnkerPWS 3.7.XPWS 3.7.X

    OTA_ProfileCreateRQ 

    OTA_ProfileModifyRQ 

    InboundOnPremise

    OTA_ProfileCreateRQ | Profile | Customer | PersonName | MiddleName

    OTA_ProfileModifyRQ | ProfileModify | Customer | PersonName | MiddleName

    Codeblock
    languagexml
    collapsetrue
    <Customer BirthDate="1980-01-01" Gender="Female">
    	<PersonName>
    		<GivenName>Doodi</GivenName>
    		<MiddleName>Jacksonn</MiddleName>
    		<Surname>Joness</Surname>
    	</PersonName>
    	<Email DefaultInd="true" EmailType="1" ShareMarketInd="No">xgomez+892372@civitfun.com</Email>
    	<Address DefaultInd="true" FormattedInd="false" ShareMarketInd="No" Type="1" UseType="6">
    		<AddressLine>Calle Dos 2</AddressLine>
    		<CityName>Palma</CityName>
    		<StateProv>Islas Baleares</StateProv>
    		<CountryName Code="ES">Spain</CountryName>
    	</Address>
    	<CitizenCountryName Code="ES" DefaultInd="true"/>
    	<Document DocID="99999999R" DocType="5" EffectiveDate="2015-01-01" ExpireDate="2024-12-31"/>
    	<EmployerInfo CompanyShortName="" Department=""/>
    </Customer>
    To implement MiddleName for inbound private profilesPWS-31283.7.X

    OTA_ProfileCreateRQ 

    OTA_ProfileModifyRQ 

    outboundOnPremise

    OTA_ProfileCreateRQ | Profile | TPA_Extensions | px:ProfileInfoExtensions | px:StatisticalInfos | px:ParentProfile 

     OTA_ProfileModifyRQ | ProfileModify | TPA_Extensions | px:ProfileInfoExtensions | px:StatisticalInfos | px:ParentProfile 


    Codeblock
    languagexml
    collapsetrue
    <Customer>
        <TPA_
    Extensions xmlns:px="http://protel.io/htng/extensions"> <px:ProfileInfoExtensions> <px:StatisticalInfos> <px:ParentProfile Name="Duck AG" ID="181579" ID_Context="protelIO" Type="3"/> </px:StatisticalInfos> </px:ProfileInfoExtensions> </TPA_Extensions>

    Remove the existing TPA_Extensions 

    Codeblock
    languagexml
    collapsetrue
    <TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
    Extensions>
        ....
            <ProfileInfoExtensions>
            ....
                <PersonInfos>
                ....           
         
    <Master MasterAccountID="181579"/>
           
    </TPA_Extensions>

    And add the new official XSD TPA_Extensions "px:ParentProfile "

    PWS-30973.7.XOTA_HotelResNotifRQoutboundOnPremise

    OTA_HotelResNotifRQ | HotelReservations | HotelReservation | RoomStays | RoomStay | Guarantee

    Codeblock
    languagexml
    collapsetrue
    <Guarantee GuaranteeType="CC/DC/Voucher
        <Registration BirthDate="1980-01-06" BirthCountry="MA">
        
    <GuaranteesAccepted>
            
    <GuaranteeAccepted>
            <Occupation>Mechanic</Occupation>
        
    <PaymentCard CardCode="MC" CardType="1" EncryptionKey="hOSJucTz-9QDE-KKKE-qiTa-af8X4oOiNVG" ExpireDate="0123" MaskedCardNumber="XXXXXXXXXXXX5100">
                    <DocumentInfos>                 
    <CardHolderName>AT</CardHolderName>
    
                    
    </PaymentCard>
          <DocumentInfo 
    </GuaranteeAccepted>
    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

    </GuaranteesAccepted> </Guarantee>assigned credit cards will be displayed in the outbound Reservation messagePWS-10893.7.X

    HTNG_ChargePostingRQ

    inboundOnPremise

    HTNG_ChargePostingRQ | Posting | Transaction | RevenueDetails | RevenueDetail | Account

    Codeblock
    languagexml
    collapsetrue
    <RevenueDetails>
    	<RevenueDetail Description="Cash Payment" PMSRevenueCode="1" CurrencyCode="AED" Amount="-45.00" SubTypeID="Payment">
    		<Account ID="555342188" Type="14" ID_Context="External"/>
    	</RevenueDetail>
    </RevenueDetails>
    Posted Revenue / Payment is possible against External ResID. PWS-31123.7.XIO_RatePackageNotifRQoutboundOnPremise

    IO_RatePackageNotifRQ | Packages | Package | Validity

    IO_RatePackageNotifRQ | Packages | Package | PackageItem | Validity


    Codeblock
    languagexml
    collapsetrue
    <Validity
    <Customer 
    From
    Gender="
    1990-01-01
    Male" 
    To
    BirthDate="
    2050
    2020-01-01"
    />Remove the time stamp from the Validity element according to our XSDPWS-30923.7.XPWS 3.6.X  AnkerPWS 3.6.XPWS 3.6.X

    OTA_HotelAvailNotifRQ

    inboundOnPremOTA_HotelAvailNotifRQ | AvailStatusMessages | AvailStatusMessage | RestrictionStatus
    Codeblock
    languagexml
    collapsetrue
    <?xml version='1.0' encoding='utf-8'?>
    <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
    	<env:Body>
    		<OTA_HotelAvailNotifRQ MessageContentCode="3" TimeStamp="2018-12-03T00:00:00.000Z" Version="2">
    			<AvailStatusMessages HotelCode="3153">
    				<AvailStatusMessage>
    					<StatusApplicationControl Start="2021-08-09" End="2021-08-10" RatePlanCode="Ali2" InvTypeCode="CBR"/>
    					<RestrictionStatus Restriction="Departure" Status="Close"/>
    					<UniqueID Type="16" ID_Context="info.rateboard.rms" ID="2"/>
    				</AvailStatusMessage>
    				<AvailStatusMessage>
    					<StatusApplicationControl Start="2021-08-09" End="2021-08-10" RatePlanCode="Ali2" InvTypeCode="CS"/>
    					<RestrictionStatus Restriction="Departure" Status="Close"/>
    					<UniqueID Type="16" ID_Context="info.rateboard.rms" ID="2"/>
    				</AvailStatusMessage>
    			</AvailStatusMessages>
    		</OTA_HotelAvailNotifRQ>
    	</env:Body>
    </env:Envelope>
     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

    Implement Close to Departure as a new restriction in OnPremPWS-3012PWS 3.6.XHTNG_HotelChargePostingRQinboundOnPremHTNG_HotelChargePostingRQ | Posting | Transaction | RevenueDetails | RevenueDetail | @ReferenceID


    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

    ESB 323

    Anker
    ESB 323
    ESB 323








    HTNG_ChargePostingRSoutbound

    onPrem

    pAir

     HTNG_ChargePostingRS | Errors | Error
    <HTNG_ChargePostingRQ>
    	<Posting ID="1">
    		<Transaction TicketID="1">
    			<RevenueDetails>
    				<RevenueDetail Description="Upsell Article" PMSRevenueCode="1000" ReferenceID="1015" Amount="20.00" SubTypeID="Revenue">
    					<ExtendedPrice AmountAfterTax="20.00" DecimalPlaces="2" Quantity="1"/>
    					<Account ID="341977-2" Type="16" ID_Context="protelIO"/>
    				</RevenueDetail>
    With the Attribute @ReferenceID it will be possible to post as well articles. In the Attribute @ReferenceID the Article ID needs to be sent to Protel. In the Attribute @PMSRevenueCode the TAA from the article should be providedPWS-2996PWS 3.6.XIO_RatePackageNotifRQoutboundOnPremIO_RatePackageNotifRQ | Packages | Package | PackageItem | Calculation


    Codeblock
    languagexml
    collapsetrue
    <IO_RatePackageNotifRQ>
    	<Packages>
    		<Package>
    			<PackageItems>
    				<PackageItem>
    					<Calculation AmountBeforeTax="40" AmountAfterTax="40" Currency="AED" InclusiveInd="true" Recurrence="Daily" Relation="Complex">
    						<DaysOfWeek Mon="true" Tue="true" Wed="true" Thu="true" Fri="true" Sat="true" Sun="true"/>

    Fix the values for the Recurrence Attribute

    Possible Recurrence

    • OnArrival
    • OnDeparture
    • Daily
    • DaysOfWeek
    • Floating
    • Fixed
    PWS-3001PWS 3.6.XOTA_HotelResNotifRQ outboundOnPrem

    OTA_HotelResNotifRQ | HotelReservations | HotelReservation | TPA_Extensions | px:ReservationExtensions | px:FixedCharges | px:FixedCharge | px:ServiceDates | px:ServiceDate

    Codeblock
    languagexml
    collapsetrue
    <TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
    	<px:ReservationExtensions>
    		<px:FixedCharges>
    			<px:FixedCharge Code="KosmetikExtNoR" Recurrence="floating" From="2021-01-05" To="2021-01-12" Quantity="1" RequestedIndicator="true">
    				<px:Price CurrencyCode="EUR" SingleAmountAfterTax="25.00"/>
    				<px:UniqueID Type="FixedCharge" ID="103604" ID_Context="protelIO"/>
    				<px:Item ItemID="75"/>
    				<px:InvoiceText>Kosmetik täglich ab 5.1.</px:InvoiceText>
    				<px:ServiceDates>
    					<px:ServiceDate From="2021-01-05" To="2021-01-07"/>
    					<px:ServiceDate From="2021-01-10" To="2021-01-12"/>
    				</px:ServiceDates>
    			</px:FixedCharge>
    		</px:FixedCharges>
    	</px:ReservationExtensions>
    </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>


    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

    IPA 24.38

    Anker
    IPA 24.38
    IPA 24.38









    OTA_HotelResNotifRQ

    inboundpAir

    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

    24.38

    IPA 24.29

    Anker
    IPA 24.29
    IPA 24.29









    IO_SystemDataRS 


    IO_ResModifyNotifRQ


    OTA_HotelResNotifRQ



    outbound


    outbound


    outbound / inbound

    pAir

    no schema change

    no schema change

    If the new Xsetup (Guest Relation with Primary) is set for the relations of the guests to the main guest, the various GuestRelationTypes can be queried from the system data via IO_SystemDataRS and sent via IO_ResModifyNotifRQ and OTA_HotelResNotifRQ with the attribute @RelationToPrimary.NGPR-8321 / IOTEC-599924.29

    IPA 24.24

    Anker
    IPA 24.24
    IPA 24.24









    IO_InvoiceFiscalizeRQ 

    IO_InvoiceFiscalizeNotifRQ

    outboundpAir

    IO_InvoiceFiscalizeRQ | Invoice | AdditionalText


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

    IPA-1367TBA

    IO_InvoiceFiscalizeRQ 

    IO_InvoiceFiscalizeNotifRQ

    outboundpAir

    IO_InvoiceFiscalizeRQ | Invoice | InvoiceFormat

    Add the new Element "SerivceDates"

    This Element will be displayed for the Recurrence= "floating"

    Possible Recurrence

    • OnArrival
    • OnDeparture
    • Daily
    • DaysOfWeek
    • Floating
    • Fixed
    PWS-2547PWS 3.6.XHTNG_HotelFolioRSoutboundOnPremHTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevnueDetail | FolioIDs | FolioID


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

    IPA-1365TBAIO_SystemDataRSoutboundpAir

    IO_SystemDataRS | SystemData | Accounting | InvoiceFormat

    <HTNG_HotelFolioRS> <Folios> <Folio> <RevenueDetails> <RevenueDetail> <FolioIDs xmlns="http://www.opentravel.org/OTA/2003/05"> <FolioID>SDate|2017-08-23</FolioID>


    Codeblock
    languagexml
    collapsetrue
                        <ns2:InvoiceFormats>
                            
    <FolioID>InvID|122345</FolioID> </FolioIDs> <RevenueDetailItems> <RevenueDetailItem> <FolioIDs xmlns="http://www.opentravel.org/OTA/2003/05"> <FolioID>SDate|2017-08-23</FolioID> </FolioIDs>

    Add a short in front of the FolioID Element, to describe what is displayed

    Possible values

    • InvID
    • InvNo
    • GstID
    • Code
    • TAAGrp
    • PkgID
    • SDate
    PWS-2961PWS 3.5.XHTNG_HotelFolioNotifRQoutboundOnPremHTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevnueDetail | FolioIDs | FolioID Codeblock
    languagexml
    collapsetrue
    <HTNG_HotelFolioNotifRQ> <Folios> <Folio> <RevenueDetails> <RevenueDetail> <FolioIDs xmlns="http://www.opentravel.org/OTA/2003/05"> <FolioID>SDate|2017-08-23</FolioID>
    <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>
                            
    <FolioID>InvID|122345</FolioID> </FolioIDs> <RevenueDetailItems> <RevenueDetailItem> <FolioIDs xmlns="http://www.opentravel.org/OTA/2003/05"> <FolioID>SDate|2017-08-23</FolioID> </FolioIDs>

    Add a short in front of the FolioID Element, to describe what is displayed

    Possible values

    • InvID
    • InvNo
    • GstID
    • Code
    • TAAGrp
    • PkgID
    • SDate
    PWS-2961PWS 3.5.XIO_StatsNotifRQoutboundOnPremIO_StatsNotifRQ | Statistics | Statistic | StatisticApplicationSet | RevenueCategorySummaries Codeblock
    languagexml
    collapsetrue
    <IO_StatsNotifRQ/>
    <ns2:InvoiceFormat Code="ItemsSortCrs">
                                <ns2:Description Language="en_US">Single items, sort by CRS number</ns2:Description>
                            </ns2:InvoiceFormat>
          
    <Statistics>
            
    <Statistic>
              
    <StatisticApplicationSets> <StatisticApplicationSet Start="2021-10-28" End="2021-10-28">
    <ns2:InvoiceFormat Code="ItemsGroupCode">
                 
    <StatisticCodes>
                   
    <StatisticCode StatCode
    <ns2:Description Language="
    Group
    en_US">Combine 
    StatCategoryCode="3"
    identical items</
    >
    ns2:Description>
                         
    <StatisticCode
     
    StatCode="1"
     
    StatCategoryCode="Pseudo"
     </
    >
    ns2:InvoiceFormat>
                  
    </StatisticCodes>
              <ns2:InvoiceFormat Code="ItemsGroupDate">
       
    <RevenueCategorySummaries>
                     
    <RevenueCategorySummary RevenueCategoryCode="3" CurrencyCode="EUR" Amount="0.00" />
            <ns2:Description Language="en_US">Combine identical items and dates</ns2:Description>
                     
    <RevenueCategorySummary RevenueCategoryCode="6" CurrencyCode="EUR" Amount="0.00" />
           </ns2:InvoiceFormat>
                       
    <RevenueCategorySummary RevenueCategoryCode="9" CurrencyCode="EUR" Amount="0.00" /
         <ns2:InvoiceFormat Code="ItemsGroupGuest">
                    
    <RevenueCategorySummary RevenueCategoryCode="17" CurrencyCode="EUR" Amount="0.00" />
                <ns2:Description Language="en_US">Combine identical items and guest</ns2:Description>
                            </ns2:InvoiceFormat>
                           
    <RevenueCategorySummary RevenueCategoryCode="123" CurrencyCode="EUR" Amount="0.00" /> <RevenueCategorySummary RevenueCategoryCode="126" CurrencyCode="EUR" Amount="0.00" /> <RevenueCategorySummary RevenueCategoryCode="129" CurrencyCode="EUR" Amount="0.00" /> <RevenueCategorySummary RevenueCategoryCode="1217" CurrencyCode="EUR" Amount="0.00" /> </RevenueCategorySummaries>If the all value for the RevenueCategorySummaries is zero, we will not display the ElementPWS-2998PWS 3.5.X
     <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.

    IPA-1365TBA

    IO_InvoiceFiscalizeRQ

    IO_InvoiceFiscalizeNotifRQ

    outboundpAir

    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

    24.24

    IPA 24.20

    Anker
    IPA 24.20
    IPA 24.20









    OTA_HotelResNotifRQOTA_HotelStayInfoNotifRQOTA_ResRetrieveRSHTNG_HotelCheckInNotifRQHTNG_HotelCheckOutNotifRQ 

    outboundpAir

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


    @CheckedIn

    @CheckedOut 


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

    24.20

    OTA_HotelResNotifRQ

    outbound / inboundpAir

    px:ReservationExtensions | px:ProcessingInstructions | px:ResGuests |

    @FullOverlay

    @Role



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

    24.20







    IPA 24.14

    Anker
    IPA 24.14
    IPA 24.14








    IO_InvoiceFiscalizeRQ

    IO_InvoiceFiscalizeNotifRQ

    outboundpAir

    IO_InvoiceFiscalizeRQ | Invoice


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


    IPA-135024.14

    IO_InvoiceFiscalizeRQ

    IO_InvoiceFiscalizeNotifRQ

    outboundpAir

    IO_InvoiceFiscalizeRQ | Invoice | InvoiceRecipient | AccountingInfos


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

    24.14

    IO_InvoiceFiscalizeNotifRQ 

    IO_InvoiceFiscalizeRQ

    outboundpAir

    IO_InvoiceFiscalizeRQ | Invoice | InvoiceRecipient | AccountingInfos

     

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

    IPA-136324.14

    OTA_ProfileCreateRQ

    OTA_ProfileModifyRQ

    outbound

    inbound

    pAir

    Customer | TPA_Extensions | px:ProfileInfoExtensions  | px:AccountingInfos

     

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

    24.14

    OTA_HotelResNotif

    outbound

    inbound


    pAir

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

     

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

    24.14OTA_HotelStayInfoNotifRQoutboundpAir

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


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

    24.14

    IPA 24.12

    Anker
    IPA 24.12
    IPA 24.12








    OTA_HotelResNotifRQoutbound / inboundpAir

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

     

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

    24.12

    IPA 24.08

    Anker
    IPA 24.08
    IPA 24.08









    IO_SystemDataRS

    outboundpAirIO_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 GuestRelationTypeselement with the attributes for the relationship types.IPA-135324.08

    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.02OTA_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.02OTA_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.02OTA_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