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
23.502023-12-13
23.482023-11-29
23.462023-11-15
23.442023-11-01
23.422023-10-18
23.402023-10-04
23.382023-09-20
23.362023-09-06
23.342023-08-23
23.322023-08-09
2023-07-26
23.282023-07-12
23.262023-06-28
23.242023-06-14


Release dates PWS (onPrem) LIVE Environment

VersionRelease date
3.152023-09-20
3.142023-07-05
3.132023-04-12




Affected MessageDirection from protelPMSPathExampleSummaryInternal referenceVersion
TBA IDS
TBA PWS
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-3650


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-3650
OTA_HotelResNotifRQoutbound
OTA_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-3650
OTA_HotelResNotifRQoutbound
OTA_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-3650
OTA_HotelResNotifRQoutbound
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | TPA_Extensions | px:Traces
No change in the XML, but traces from the past (before the current PMS date) are no longer sent. PWS-3676
TBA IPA
OTA_HotelResNotifoutbound + 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> 



IPA-1302
OTA_ResRetrieveRS outboundpAir

OTA_ResRetrieveRS | ReservationsList | HotelReservation |
TPA_Extensions | px:ReservationGroupExtensions| px:GroupInfo| 

@GroupName
@GroupID
@PrimaryInd

ResGuests | ResGuest | Profile | 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 level,  PrimaryInd="true" will be shown for the group leader profile, all other profiles of this group will be shown with PrimaryInd="false".

IPA-1040

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

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








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

PWS 3.13.X

Anker
PWS 3.13.X
PWS 3.13.X

IO_ResModifyNotifRQinbound onPremIO_ResModifyNotifRQ | Reservations | Reservation | ProfileReferences | ProfileReference
Use Case 11 (Change attached guest profile): only the main reservation profile can be exchanged, no profiles on the list of attached guest profiles
Use Case 11b (Add attached guest profile): an unlimited number of profiles can be attached to the list of attached guest profiles.
PWS-34893.13.3
OTA_HotelAvailRSoutboundonPremOTA_HotelAvailRS | RoomStays | RoomStay | RoomRates | RoomRate | Rates | Rates | TPA_Extensions | 
px:FixedChargesAmountsExtensions


Codeblock
languagexml
collapsetrue
<Rate RateTimeUnit="Day" EffectiveDate="2019-02-01" ExpireDate="2019-02-03" UnitMultiplier="2">
    <Base AmountAfterTax="117.00" CurrencyCode="EUR"/>
    <Total AmountAfterTax="234.00" CurrencyCode="EUR"/>
    <TPA_Extensions>
        <px:FixedChargesAmountsExtensions
            xmlns:px="http://protel.io/htng/extensions" End="2019-02-03" Start="2019-02-01">
            <px:RateAmount AmountAfterTax="10.00" RevenueCategoryCode="17" CurrencyCode="EUR" />
        </px:FixedChargesAmountsExtensions>
    </TPA_Extensions>
</Rate>


New element TPA_Extensions will be added IF the respective rate has an exclusive fixed charge package.

The value of the FixedChargesAmountsExtensions | RateAmount | AmountAfterTax is NOT included in the Base/Total amounts and should NOT be used for OTA_HotelResNotifRQ to the PMS. This value has informative purpose to the walk-in guest - since the charge will be added automatically by the PMS logic during EOD.

PWS-35053.13.0
IO_ResModifyNotifRQinboundonPremIO_ResModifyNotifRQ | Reservations | Reservation | ProfileReferences | ProfileReference
UseCase 11: Change arriving guest


Codeblock
languagexml
collapsetrue
<p:ProfileReferences>
	<p:ProfileReference ID_Context="protelIO" Type="Customer" ID="36975" Action="DELETE"/>
	<p:ProfileReference ID_Context="protelIO" Type="Customer" ID="36888" Action="CREATE"/>
</p:ProfileReferences>


UseCase 11: Change arriving guest
With this PWS version, only the arriving guest will be exchanged, all folio recipients remain as they are.
PWS-34633.13.0
IO_ResModifyNotifRQinboundonPremIO_ResModifyNotifRQ | Reservations | Reservation | InvoiceReferences | InvoiceReference | ProfileReferences | ProfileReference
UseCase 12: Change invoice recipient


Codeblock
languagexml
collapsetrue
<p:InvoiceReferences>
	<p:InvoiceReference Type="Invoice" ID="34161-0" ID_Context="protelIO">
		<p:ProfileReferences>
			<p:ProfileReference ID_Context="protelIO" Type="Customer" ID="36975" Action="DELETE" Role="InvoiceRecipient"/>
			<p:ProfileReference ID_Context="protelIO" Type="Customer" ID="36842" Action="CREATE" Role="InvoiceRecipient"/>
		</p:ProfileReferences>
	</p:InvoiceReference>
</p:InvoiceReferences>


UseCase 12: Change invoice recipient
With this PWS version, the invoice recipient for folios A to F can be exchanged. The arriving guest will not be touched.
PWS-34633.13.0
IO_RatePackageNotifRQOutboundonPremIO_RatePackageNotifRQ | Packages | Package | PackageItems | PackageItem | Calculation | @FixedChargeInd


Codeblock
languagexml
collapsetrue
<Calculation AmountAfterTax="10.00" AmountBeforeTax="8.06" Currency="EUR" InclusiveInd="false" FixedChargeInd="false" Recurrence="Daily" Relation="PerAdult">
    <DaysOfWeek Fri="true" Mon="true" Sat="true" Sun="true" Thu="true" Tue="true" Wed="true"/>
</Calculation>


New attribute added to schema: @FixedChargeInd. The attribute is boolean and optional. 

If @FixedChargeInd="false" (or the attribute is missing) then the package is "not a fixed charge". 

Else if the @FixedChargeInd="true" then the package "is a fixed charge". This is extra cost to the accommodation amount - but unlike the "add to rate" packages, it should not be included in the inbound reservation total amount to the PMS.

PWS-34923.13.0
HTNG_ChargePostingRQInboundonPremHTNG_ChargePostingRQ | Posting | Transaction | RevenueDetails | RevenueDetail


Codeblock
languagexml
collapsetrue
<RevenueDetails><RevenueDetail Description="Cash" PMSRevenueCode="1" CurrencyCode="AED" Amount="-10.00" SubTypeID="Deposit"><Account ID="342451" Type="14" ID_Context="protelIO"/></RevenueDetail></RevenueDetails>


The new value 'Deposit' can be applied to the SubTypeID attribute. In this case partial payments for the guests who depart on the current business date will be possible.PWS-35093.13.0







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

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

IPA 23.30

Anker
IPA 23.30
IPA 23.30








OTA_HotelResNotifRQoutboundpAirOTA_HotelResNotifRQ | HotelReservations | HotelReservation | @RoomNumberLockedIndicator


Codeblock
languagexml
collapsetrue
<HotelReservation CreateDateTime="2023-07-20T12:55:31+02:00" CreatorID="isabell.kniza@protel.net" LastModifierID="isabell.kniza@protel.net" LastModifyDateTime="2023-07-20T12:56:06+02:00" ResStatus="Reserved" RoomNumberLockedIndicator="true"> 


If true, then the room for this reservation cannot be changed by the vendor. If false, then the vendor can be searched for a new available room with the message OTA_ReadRQ. IPA-126023.30


...