Versionen im Vergleich

Schlüssel

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

Release dates pAIR LIVE Environment

VersionRelease date
22.502022-12-22
22.482022-
03
11-
23
30
22.
10
462022-
03
11-
09
16
22.
04
442022-
01
11-
26
02
22.
02
382022-
01
09-
12
21
22.362022-09-07
22.242022-06-15
22.182022-05-04
22.142022-04-06
22.122022-03-23
22.102022-03-09
22.042022-01-26
22.022022-01-12



Version
Affected MessageDirection from protelPMSPathExampleSummaryInternal referenceVersion

IPA 22.50 

Anker
IPA 22.50
IPA 22.50








IO_SystemDataRSOutboundpAirIO_SystemDataRS | SystemData | Accounting | PaymentMethods | PaymentMethod 


Codeblock
languagexml
collapsetrue
<ns2:PaymentMethod Code="1005" Group="CC" ID="12" ID_Context="protelIO" IsAccountReceivable="false" Visible="true">
	<ns2:Name Language="en_US">Mastercard</ns2:Name>
</ns2:PaymentMethod>


The value of @Code attribute replaced with the PLU (TAA number) of the PaymentMethod item. It was already the shortname of the MOP item.IPA-115822.50
OTA_ProfileModifyRQinboundpAirOTA_ProfileModifyRQ | ProfileModify | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:StatisticalInfos | px:ParentProfile


Codeblock
languagexml
titleTPA_Extensions
collapsetrue
<TPA_Extensions>
    <px:ProfileInfoExtensions>
        <px:StatisticalInfos>
            <px:ParentProfile ID="24886" ID_Context="protelIO" Name="protel" Type="3"/>
        </px:StatisticalInfos>
    </px:ProfileInfoExtensions>
</TPA_Extensions>


Enable attaching a profile as "Parent profile" inbound. The functionality can be used only with existing protel PMS profile IDsIPA-114522.50

IPA 22.48

Anker
IPA 22.48
IPA 22.48








HTNG_HotelFolioRQinboundpAirHTNG_HotelFolioRQ | 

UniqueID


Codeblock
languagexml
collapsetrue
<?xml version='1.0' encoding='utf-8'?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
	<s:Header xmlns:s="http://www.w3.org/2003/05/soap-envelope">		
	</s:Header>
	<s:Body xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
		<HTNG_HotelFolioRQ xmlns="http://htng.org/2014B" EchoToken="IPA_1138_31" Version="0" CorrelationID="IPA_1138_31">
			<POS>
				<Source xmlns="http://www.opentravel.org/OTA/2003/05">
					<RequestorID ID="2787" Type="10" ID_Context="protelIO"/>
					<BookingChannel Type="4" Primary="true"/>
				</Source>
			</POS>
			<UniqueID ID="3584" Type="36" ID_Context="protelIO"/>
		</HTNG_HotelFolioRQ>
	</s:Body>
</env:Envelope>


In order to receive the Folio Item for a GroupReservation in pAir, we accept Type="36" as GroupMaster and sends back folio items accordingly. 
In this case ID should be the GroupMaster ResID.
Since the GroupMaster ResID is needed for this case, vendors should know the ResID before sending in the FolioRQ. To do this, vendors need to be subscribed for IO_ResGroupNotifRQ otherwise.
IPA-114222.48
OTA_HotelResNotifRQoutboundpAirOTA_HotelResNotifRQ | HotelReservations | HotelReservation | RoomStays | RoomStay | RoomRates | RoomRate | Rates | Rate | TPA_Extensions | px:RateAmountExtensions 

Currently:

Codeblock
languagexml
titleRateAmountExtensions
collapsetrue
<TPA_Extensions>
    <px:RateAmountExtensions AlternateCurrencyInd="false" End="2022-07-17" Start="2022-07-17">
        <px:RateAmount AmountAfterTax="29.13" AmountBeforeTax="29.13" CurrencyCode="USD" RevenueCategoryCode="0"/>
        <px:RateAmount AmountAfterTax="7.33" AmountBeforeTax="7.00" CurrencyCode="USD" RevenueCategoryCode="3"/>
        <px:RateAmount AmountAfterTax="21.24" AmountBeforeTax="21.00" CurrencyCode="USD" RevenueCategoryCode="6"/>
        <px:RateAmount AmountAfterTax="187.56" AmountBeforeTax="159.00" CurrencyCode="USD" RevenueCategoryCode="9"/>
        <px:RateAmount AmountAfterTax="245.26" AmountBeforeTax="216.13" CurrencyCode="USD" RevenueCategoryCode="17"/>
    </px:RateAmountExtensions>
    <px:FixedChargesAmountsExtensions AlternateCurrencyInd="false" End="2022-07-17" Start="2022-07-17">
        <px:RateAmount AmountAfterTax="13.00" AmountBeforeTax="13.00" CurrencyCode="USD" RevenueCategoryCode="6"/>
        <px:RateAmount AmountAfterTax="13.00" AmountBeforeTax="13.00" CurrencyCode="USD" RevenueCategoryCode="17"/>
    </px:FixedChargesAmountsExtensions>
</TPA_Extensions> 

Expected:

Codeblock
languagexml
titleRateAmountExtensions
collapsetrue
<TPA_Extensions>
    <px:RateAmountExtensions AlternateCurrencyInd="false" End="2022-07-17" Start="2022-07-17">
        <px:RateAmount AmountAfterTax="29.13" AmountBeforeTax="29.13" CurrencyCode="USD" RevenueCategoryCode="0"/>
        <px:RateAmount AmountAfterTax="7.33" AmountBeforeTax="7.00" CurrencyCode="USD" RevenueCategoryCode="3"/>
        <px:RateAmount AmountAfterTax="8.24" AmountBeforeTax="8.00" CurrencyCode="USD" RevenueCategoryCode="6"/>
        <px:RateAmount AmountAfterTax="187.56" AmountBeforeTax="159.00" CurrencyCode="USD" RevenueCategoryCode="9"/>
        <px:RateAmount AmountAfterTax="232.26" AmountBeforeTax="203.13" CurrencyCode="USD" RevenueCategoryCode="17"/>
    </px:RateAmountExtensions>
    <px:FixedChargesAmountsExtensions AlternateCurrencyInd="false" End="2022-07-17" Start="2022-07-17">
        <px:RateAmount AmountAfterTax="13.00" AmountBeforeTax="13.00" CurrencyCode="USD" RevenueCategoryCode="6"/>
        <px:RateAmount AmountAfterTax="13.00" AmountBeforeTax="13.00" CurrencyCode="USD" RevenueCategoryCode="17"/>
    </px:FixedChargesAmountsExtensions>
</TPA_Extensions> 


If a fixed charge is set as part of Rate code, it will be included in the RateAmountExtensions as  RevenueCategoryCode= (6,17)

If a fixed charges is added on top of the Rate code, then it will be included only in the in the FixedChargesAmountsExtensions as RevenueCategoryCode= (6,17)

IPA-116022.48
HTNG_HotelRoomStatusSearchRQinboundpAir


Codeblock
languagexml
collapsetrue
<HTNG_HotelRoomStatusSearchRQ xmlns="http://htng.org/2014B" xmlns:ota="http://www.opentravel.org/OTA/2003/05" CorrelationID="Test_RoomStatus36" EchoToken="IPA_1137_01" TimeStamp="2019-03-12T16:30:47Z" Version="1.0">
	<POS>
		<Source>
			<RequestorID Type="10" ID="2787" ID_Context="protelIO"/>
		</Source>
	</POS>
	<PropertyInfo HotelName="protel.IO TestHotel25 pAir" HotelCode="2787" HotelCodeContext="protelIO"/>
	<Room RoomID="107"/>
</HTNG_HotelRoomStatusSearchRQ>


The Room Status Search message can be used to obtain a list of rooms having a set of characteristics that the requestor is interested in. This can be done for a single room or a group of rooms, depending on the search criteria. The result then can be used, for example, to synchronize information between systems that need updated housekeeping statuses.IPA-113722.48
HTNG_HotelRoomStatusSearchRSoutboundpAir


Codeblock
languagexml
collapsetrue
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope">
	<S:Header>
		<p:Source xmlns:p="http://protel.io/soap" Module="backline" ModuleVersion="2022-11-28T09:55:36 (QA)" Product="protelAir" ProductVersion="2250.0.71659-SNAPSHOT" Service="io.protel.air"/>
		<p:CorrelationID xmlns:p="http://protel.io/soap">IPA_1137_03</p:CorrelationID>
	</S:Header>
	<S:Body>
		<ns2:HTNG_HotelRoomStatusSearchRS xmlns:ns2="http://htng.org/2014B" xmlns:ns3="http://protel.io/soap" xmlns:ns4="http://www.w3.org/2005/08/addressing" xmlns:ns5="http://www.w3.org/2011/03/ws-evt" xmlns:ns6="http://www.opentravel.org/OTA/2003/05" CorrelationID="IPA_1137_03" EchoToken="IPA_1137_03" PrimaryLangID="en" TimeStamp="2022-11-28T10:58:38Z" Version="1">
			<ns2:Success/>
			<ns2:RoomInformationList>
				<ns2:RoomInformation>
					<ns2:Room RoomID="106">
						<ns2:RoomType IsRoom="true" NumberOfUnits="1" RoomID="106" RoomType="Standard Room" RoomTypeCode="STND">
							<ns6:RoomDescription Name="Description">
								<ns6:Text TextFormat="PlainText">Standard Room</ns6:Text>
							</ns6:RoomDescription>
						</ns2:RoomType>
						<ns2:HKStatus>OFF_MARKET</ns2:HKStatus>
						<ns2:TPA_Extensions>
							<px:RoomStatusExtensions xmlns:px="http://protel.io/htng/extensions">
								<px:HouseKeepingInfo RoomStatus="2"/>
							</px:RoomStatusExtensions>
						</ns2:TPA_Extensions>
					</ns2:Room>
				</ns2:RoomInformation>
			</ns2:RoomInformationList>
		</ns2:HTNG_HotelRoomStatusSearchRS>
	</S:Body>
</S:Envelope>


The Room Status Search message can be used to obtain a list of rooms having a set of characteristics that the requestor is interested in. This can be done for a single room or a group of rooms, depending on the search criteria. The result then can be used, for example, to synchronize information between systems that need updated housekeeping statuses.IPA-113722.48

IPA 22.46

Anker
IPA 22.46
IPA 22.46








OTA_HotelResNotifRQinboundpAirRate | @CachedIndicator


Codeblock
languagexml
collapsetrue
<RoomRates>
    <RoomRate EffectiveDate="2019-09-11" ExpireDate="2019-09-12" NumberOfUnits="1" RatePlanCode="ADVOV BB" RoomTypeCode="SSV">
        <Rates>
            <Rate AlternateCurrencyInd="false" EffectiveDate="2019-09-11" ExpireDate="2019-09-12" RateTimeUnit="Day" UnitMultiplier="1" CachedIndicator="true">
                <Base AmountAfterTax="1.00" CurrencyCode="BGN"/>
            </Rate>
            <Rate AlternateCurrencyInd="true" EffectiveDate="2019-09-11" ExpireDate="2019-09-12" RateTimeUnit="Day" UnitMultiplier="1" CachedIndicator="true">
                <Base AmountAfterTax="2.00" CurrencyCode="EUR"/>
            </Rate>
        </Rates>
    </RoomRate>
    <RoomRate EffectiveDate="2019-09-12" ExpireDate="2019-09-13" NumberOfUnits="1" RatePlanCode="ADVOV BB" RoomTypeCode="SSV">
        <Rates>
            <Rate AlternateCurrencyInd="false" EffectiveDate="2019-09-12" ExpireDate="2019-09-13" RateTimeUnit="Day" UnitMultiplier="1">
                <Base AmountAfterTax="1.00" CurrencyCode="BGN"/>
            </Rate>
            <Rate AlternateCurrencyInd="true" EffectiveDate="2019-09-12" ExpireDate="2019-09-13" RateTimeUnit="Day" UnitMultiplier="1">
                <Base AmountAfterTax="2.00" CurrencyCode="EUR"/>
            </Rate>
        </Rates>
    </RoomRate>
</RoomRates>


If Rate/@CachedIndicator="true", then the PMS will ignore the resp rate details within the same <Rate> element and will use its latest known data.
@CachedIndicator is optional with default value of "false"
The values makes sense only for ResStatus="Modify"
The new use case eliminates the option for inbound modification, where the external service is not aware of any manual edits on the reservation rate details, to be lost.
IPA-113322.46

IPA 22.44

Anker
IPA 22.44
IPA 22.44








OTA_HotelAvailRQInboundpAirOTA_HotelAvailRQ


Codeblock
languagexml
collapsetrue
<OTA_HotelAvailRQ xmlns="http://www.opentravel.org/OTA/2003/05" IsModify="true" AvailRatesOnly="true" CorrelationID="IPA_1128_13" Version="0" EchoToken="IPA_1128_13">


@IsModify is A boolean flag that indicates the response message should return only HotelStay information. If the flag is true, the AvailRS will not hold the Errors element, if only no available inventory is found, but return an empty result with the TPA_Extensions AvailabilityExtensions filled (for room assignment).IPA-112822.44
OTA_HotelInvBlockNotifRQInboundpAirOTA_HotelInvBlockNotifRQ | InvBlocks | InvBlock | BlockDescriptions | BlockDescription


Codeblock
languagexml
collapsetrue
<BlockDescriptions>
	<BlockDescription CreateDateTime="2022-10-06T11:00:46+02:00" LastModifyDateTime="2022-10-28T08:59:56+02:00"/>
	<BlockDescription Name="SourceOfBusiness">
		<Text TextFormat="PlainText">TEST</Text>
	</BlockDescription>
</BlockDescriptions>


BlockDescription element can be distinguished by attribute value Name.
The Name value "SourceOfBusiness" is defined to map to the Distribution Channel in pAir.
We already implemented the inbound SourceOfBusiness in BlockDescription.
IPA-113522.44

IPA 22.38

Anker
IPA 22.38
IPA 22.38








IO_InvoiceFiscalizeNotifRQOutboundpAir


Codeblock
languagexml
collapsetrue
<p:IO_InvoiceFiscalizeNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:htng="http://htng.org/2014B" xmlns:p="http://protel.io/soap" CorrelationID="INV#2100171#Update#000153#1663079592581#E8FC" TimeStamp="2022-09-13T14:33:13Z" Version="1.0">
	<p:UniqueID ID="6969" ID_Context="protelIO" Type="Invoice"/>
	<p:UniqueID ID="2877" ID_Context="protelIO" Type="Hotel"/>
	<p:Invoice BusinessDate="2022-04-07" ExternalFiscalClosingID="deafcef0cc6ef843022c048e9521af37" ExternalFiscalCode="7d280d03-ad80-4e4e-9c03-c64bd7cf93ce" ExternallyFiscalized="true" FiscalCode="2393" FiscalCodeID="2" FiscalCodeName="ΑΠΟΔΕΙΞΗ ΠΑΡΟΧΗΣ ΥΠΗΡΕΣΙΩΝ" FiscalDate="2022-09-13T16:33:05+02:00" Fiscalized="true" InvoiceCode="RE_5056" InvoiceDate="2022-09-13T16:33:05+02:00" InvoiceID="6969" Open="false" PastEndOfDay="false" Type="Reservation" User="Alireza Memarifard" UserTaxNo="" Void="false">
		<p:InvoiceRecipient ProfileID="4224" ProfileType="Customer">
			<p:FirstName/>
			<p:LastName>Rxxx</p:LastName>
			<p:Language>en_US</p:Language>
			<p:Notes/>
			<p:Gender/>
			<p:Addresses/>
			<p:EmailAddresses>
				<p:Communication Notes="" PrimaryInd="true" Type="11" Value=""/>
			</p:EmailAddresses>
			<p:PhoneNumbers>
				<p:Communication Notes="" PrimaryInd="true" Type="9" Value=""/>
			</p:PhoneNumbers>
		</p:InvoiceRecipient>
		<p:Charges>
			<p:Item CashRegisterID="1" ID="121026" PostingAccount="153" Quantity="1" ServiceDate="2022-04-07" SystemDate="2022-09-13T14:32:50+02:00" TaxCode="13%" TaxRate="13.000000000" Type="Article">
				<p:PostingText>Accommodation</p:PostingText>
				<p:TotalAmountAfterTax CurrencyCode="EUR">
					<p:Amount>1.00</p:Amount>
				</p:TotalAmountAfterTax>
				<p:SingleAmountAfterTax CurrencyCode="EUR">
					<p:Amount>1.00</p:Amount>
				</p:SingleAmountAfterTax>
				<p:SingleAmountBeforeTax CurrencyCode="EUR">
					<p:Amount>0.88</p:Amount>
				</p:SingleAmountBeforeTax>
				<p:AdditionalText/>
				<p:TaxInfo Code="13%" ID="2" Rate="13.000000000">VAT_13</p:TaxInfo>
				<p:Room>1</p:Room>
				<p:Reference Code="100" ID="26" Name="Accommodation">
					<p:Group Code="1018" ID="25" Name="Accommodation"/>
				</p:Reference>
			</p:Item>
		</p:Charges>
		<p:Payments>
			<p:Item CashRegisterID="1" ID="121027" PostingAccount="153" Quantity="1" ServiceDate="2022-04-07" SystemDate="2022-09-13T14:32:57+02:00" Type="Payment">
				<p:PostingText>??????????? ??????????????</p:PostingText>
				<p:TotalAmountAfterTax CurrencyCode="EUR">
					<p:Amount>-1.00</p:Amount>
				</p:TotalAmountAfterTax>
				<p:SingleAmountAfterTax CurrencyCode="EUR">
					<p:Amount>-1.00</p:Amount>
				</p:SingleAmountAfterTax>
				<p:SingleAmountBeforeTax CurrencyCode="EUR">
					<p:Amount>-1.00</p:Amount>
				</p:SingleAmountBeforeTax>
				<p:AdditionalText/>
				<p:Room>1</p:Room>
				<p:Reference Code="1019" ID="41" Name="??????????? ??????????????">
					<p:Group Code="1012" ID="19" Name="Noncash"/>
				</p:Reference>
			</p:Item>
		</p:Payments>
		<p:Deposits/>
		<p:Expenses/>
		<p:Batches/>
		<p:TotalChargeAmount CurrencyCode="EUR">
			<p:Amount>1.00</p:Amount>
		</p:TotalChargeAmount>
		<p:TotalPaymentsAmount CurrencyCode="EUR">
			<p:Amount>-1.00</p:Amount>
		</p:TotalPaymentsAmount>
		<p:TotalDepositsAmount CurrencyCode="EUR">
			<p:Amount>0.00</p:Amount>
		</p:TotalDepositsAmount>
		<p:VoidReason/>
	</p:Invoice>
	<p:ExternalFiscalCode>7d280d03-ad80-4e4e-9c03-c64bd7cf93ce</p:ExternalFiscalCode>
	<p:ExternalFiscalClosingID>deafcef0cc6ef843022c048e9521af37</p:ExternalFiscalClosingID>
</p:IO_InvoiceFiscalizeNotifRQ>


IO_InvoiceFiscalizeNotifRQ is a new Legal-Fiscal implemented message containing all the fiscal information that sends out to the vendors after a successful fiscalization (internal, external or both)IPA-105822.38

IPA 22.36 

Anker
IPA 22.36
IPA 22.36








OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
outbound
inbound
pAirOTA_ProfileCreateRQ | Profile | Customer  | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | @BirthDate

OTA_ProfileCreateRQ | Profile | Customer  | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | @BirthPlace

OTA_ProfileCreateRQ | Profile | Customer  | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | @BirthCountry

OTA_ProfileModifyRQ | ProfileModify  | Customer  | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | @BirthDate

OTA_ProfileModifyRQ | ProfileModify  | Customer  | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | @BirthPlace

OTA_ProfileModifyRQ | ProfileModify  | Customer  | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | @BirthCountry


Codeblock
languagexml
collapsetrue
<px:Registration BirtDate="2000-01-01" BirthPlace="Dortmund" BirthCountry="DE"/>


Added the three new optional attributes Registration@BirthDate, Registration@BirthPlace and Registration@BirthCountry.
If two (different or equal) valid birthdates are provided in Customer@BirthDate and Registration@BirthDate, the value from Registration@BirthDate will be taken. Customer@Birthdate will only be taken if no (valid) date is provided in Registration@BirthDate.
IPA-110722.36

IPA 22.24 

Anker
IPA 22.24
IPA 22.24








IO_SystemDataRS outboundpAir

IO_SystemDataRS | SystemData | Rates | RatePlanGroups | RatePlanGroup |@CategoryCode

IO_SystemDataRS | SystemData | Rates | RatePlanGroups | RatePlanGroup |@CategoryID


Codeblock
languagexml
collapsetrue
<ns2:RatePlanGroup CategoryCode="PWSTG" CategoryID="21" Code="PWSTRC" ID="1271" ID_Context="protelIO" Type="Standard" Visible="true">
	<ns2:Description Language="de">PWS Test Ratecode</ns2:Description>
</ns2:RatePlanGroup>


Added two new optional attributes to be able to display the rategroups. Now the message is able to display the onPremise rate structure rategroup → ratecode → ratecodetails.IPA-107922.24

IPA 22.18

Anker
IPA 22.18
IPA 22.18








OTA_HotelInvBlockNotifRQoutboundpAirOTA_HotelInvBlockNotifRQ | InvBlocks | InvBlock | RoomTypes | RoomType | RoomTypeAllocations | RoomTypeAllocation 

Current

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

Expected

Codeblock
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-105022.18

HTNG_HotelFolioNotifRQ

HTNG_HotelFolioRS

outbound

inbound

pAir

HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | 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

IPA-104322.18
OTA_ReadRQinboundpAirOTA_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"/>
		</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>


Extend the OTA_ReadRQ to search for the RoomIDIPA-102922.18

OTA_ProfileCreateRQ 

OTA_ProfileModifyRQ

OTA_HotelResNotifRQ  

inbound
outbound
pAirOTA_ProfileCreateRQ | Profile | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos |
  • px:LastNameAtBirth
  • px:FirstNameAtBirth
  • px:LastNameMother
  • px:FirstNameMother

OTA_ProfileModifyRQ | ProfileModify | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos |

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

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

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


Codeblock
languagexml
collapsetrue
<TPA_Extensions>
	<px:ProfileInfoExtensions>
		<px:AddressTypes />
		<px:ContactDetails/>
		<px:PersonInfos>
			<px:LastNameAtBirth/>
			<px:FirstNameAtBirth/>
			<px:LastNameMother/>
			<px:FirstNameMother/>
			<px:Language DefaultInd="true">de-de</px:Language>
			<px:VipCodes/>
			<px:MarketingCodes/>
			<px:Keywords/>
			<px:Registration BirthCountry="DE"/>
		</px:PersonInfos>
		<px:Salutation DefaultInd="false" DisplaySequence="1" ID="11" ID_Context="protelIO" Type="SALUTATION">Dear Mr.</px:Salutation>
		<px:ProfileStatus/>
		<px:DocumentTypes/>
		<px:StatisticalInfos/>
		<px:Traces/>
		<px:LogEntries/>
		<px:Memberships/>
	</px:ProfileInfoExtensions>
</TPA_Extensions>


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.18

IPA 22.14 

Anker
IPA 22.14
IPA 22.14








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.14Affected MessageDirection from protelPMSPathExampleSummaryInternal reference

IPA 22.12 

Anker
IPA 22.12
IPA 22.12








OTA_ProfileCreateRQ 

OTA_ProfileModifyRQ 

outboundpAir

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


 Add the new official XSD TPA_Extensions "px:ParentProfile "

IPA-101522.12

IPA 22.10

Anker
IPA 22.10
IPA 22.10








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


Add Deposit Paid to outbound Reservation Message.IPA-101422.10

IPA 22.04 

Anker
IPA 22.04
IPA 22.04








OTA_HotelResNotifRQinboundpAirOTA_HotelResNotifRQ | HotelReservations | HotelReservation | RoomStays | RoomStay | RoomTypes | RoomType | RoomID
and/or
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | RoomStays | RoomStay | RoomRates | RoomRate | RoomID


Codeblock
languagexml
titleRoomID
collapsetrue
<OTA_HotelResNotifRQ>
    <HotelReservations>
        <HotelReservation ResStatus="In-house">
            <RoomStays>
                <RoomStay MarketCode="AK22">
                    <RoomTypes>
                        <RoomType RoomID="15012" RoomTypeCode="JUNS"/>
                    </RoomTypes>
                    <RoomRates>
                        <RoomRate EffectiveDate="2022-08-04" ExpireDate="2022-08-06" RoomID="15012" RoomTypeCode="JUNS">


In-house reservations can not have the RoomID modified with this message.
Other data like MarketCode, DepartureDate, Services remains modifiable with this message.
IPA-100922.04

IPA 22.02 

Anker
IPA 22.02
IPA 22.02








IO_SystemDataRS
IO_ResModifyNotifRS
IO_InvoiceFiscalizeRS

outboundpAirIO_SystemDataRS | Success
IO_ResModifyNotifRS | Success
IO_InvoiceFiscalizeRS | Success

New xsd:

Codeblock
languagexml
titleSuccess
collapsetrue
<xs:complexType name="IOMessageResultType">
    <xs:sequence>
        <xs:element minOccurs="0" name="Success">
            <xs:complexType>
                <xs:annotation>
                    <xs:documentation xml:lang="en">Existence of element in RS message signals successful processing.</xs:documentation>
                </xs:annotation>
            </xs:complexType>
        </xs:element>


Currently the <Success> element, if present, appears with Boolean value. (e.g. <Success>true</Success>)

With this change, the <Success> element, if present, will appear only as empty element. (e.g. <Success/>)

IPA-997

22.02
OTA_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>


Add the new Element "SerivceDates"

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

Possible Recurrence

  • OnArrival
  • OnDeparture
  • Daily
  • DaysOfWeek
  • Floating
  • Fixed
IPA-98522.02
OTA_HotelInvBlockNotifRQInboundpAirOTA_HotelInvBlockNotifRQ | TPA_Extensions | InvBlockExtensions | CancellationInfo


Codeblock
languagexml
collapsetrue
<TPA_Extensions>
	<px:InvBlockExtensions>
		<px:InvBlockID ID="23" ID_Context="protelIO" Type="18"/>
		<px:CancellationInfo Code="Cancel" ID="13" ID_Context="protelIO" Timestamp="2019-07-30T10:44:26+02:00" Type="1" User="">erreur</px:CancellationInfo>
	</px:InvBlockExtensions>
	<px:ProfileInfoExtensions>
		<px:ContactDetails>
			<px:AdditionalInfo>
				<px:Entry DefaultInd="true" ID="1543" ID_Context="protelIO" RPH="6bee2ab8-f5a0-4ce0-9e50-6a52bff63aab" Type="1">memari</px:Entry>
				<px:Entry ID="1543" ID_Context="protelIO" RPH="be2ab219-99e0-4714-8e30-a6924aa820bf" Type="1"/>
			</px:AdditionalInfo>
		</px:ContactDetails>
	</px:ProfileInfoExtensions>
	<px:ReservationExtensions/>
</TPA_Extensions>


Implement the CancellationInfo for the inbound allotment.IPA-98722.02

...