This instance is currently being migrated to the new Atlassian One Confluence sytem.
If you can't find your space anymore, it should be already in the new System: https://confluence.weareplanet.com/
...
The purpose of this page is to inform you about upcoming changes within our OTA/HTNG implementation for both property management systems. Please note that the changes are divided into onPrem and pAir PMS changes. onPrem changes won't be rolled out globally at the date that is mentioned in the table below whilst pAir Updates will always be rolled out for all customers in one step.
Please note that the XML of the examples are shortened for a clear arrangement. The full sample message can be found on the documentation page for the message.
Affected Message | Direction from protel | PMS | Path | Example | Summary | Internal reference | Version | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TBA IDS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TBA PWS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TBA IPA | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OTA_HotelAvailNotifRQResRetrieveRS | outboundinbound | 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-1334 | TBA | OTA_HotelInvBlockNotifRQ | outbound | pAir |
Codeblock | ||||
---|---|---|---|---|
| ||||
<RatePlan CurrencyCode="EUR" End="2023-12-15" MaxGuestApplicable="5" RatePlanCode="AK_RACK2" Start="2023-12-13" UnitMultiplier="0">
<BaseByGuestAmts>
<BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="152.00" AmountBeforeTax="138.18" CurrencyCode="EUR" NumberOfGuests="1" TaxInclusive="true"/>
<BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="200.00" AmountBeforeTax="181.82" CurrencyCode="EUR" NumberOfGuests="2" TaxInclusive="true"/>
<BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="301.00" AmountBeforeTax="273.64" CurrencyCode="EUR" NumberOfGuests="3" TaxInclusive="true"/>
<BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="400.00" AmountBeforeTax="363.64" CurrencyCode="EUR" NumberOfGuests="4" TaxInclusive="true"/>
<BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="501.00" AmountBeforeTax="455.45" CurrencyCode="EUR" NumberOfGuests="5" TaxInclusive="true"/>
<BaseByGuestAmt AgeQualifyingCode="8" AmountAfterTax="9.00" AmountBeforeTax="8.18" CurrencyCode="EUR" NumberOfGuests="0" TaxInclusive="true"/>
<BaseByGuestAmt AgeQualifyingCode="8" AmountAfterTax="9.00" AmountBeforeTax="8.18" CurrencyCode="EUR" NumberOfGuests="1" TaxInclusive="true"/>
<BaseByGuestAmt AgeQualifyingCode="8" AmountAfterTax="9.00" AmountBeforeTax="8.18" CurrencyCode="EUR" NumberOfGuests="2" TaxInclusive="true"/>
<BaseByGuestAmt AgeQualifyingCode="8" AmountAfterTax="9.00" AmountBeforeTax="8.18" CurrencyCode="EUR" NumberOfGuests="3" TaxInclusive="true"/>
<BaseByGuestAmt AgeQualifyingCode="8" AmountAfterTax="9.00" AmountBeforeTax="8.18" CurrencyCode="EUR" NumberOfGuests="4" TaxInclusive="true"/>
</BaseByGuestAmts>
<RateDescription Name="RateGroup">
<Text TextFormat="PlainText">PUB</Text>
</RateDescription>
<MarketCode MarketCode="BUS" MarketCodeName="BUS"/>
</RatePlan> |
This indicates if the rate accommodation is set with TAA including taxes or excluding taxes.
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
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 | ||
---|---|---|
| ||
<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".
PWS 3.16.X Anker PWS 3.16.X PWS 3.16.X
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
outbound
OnPrem
OTA_ProfileCreateRQ | Profile | Customer | Document
OTA_ProfileModifyRQ | ProfileModify | Customer | Document
no schema change
With OnPrem 23.060 it will be possible to store more than one travel document per profile so that the outbound profile messages may contain more than one document element.
PWS-3723
3.16.0
OTA_HotelResNotifRQ
outbound
OnPrem
HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile | Customer | RelatedTraveler | TPA_Extensions | px:GuestStayExtensions | px:StayInfo
Codeblock | ||||
---|---|---|---|---|
| ||||
<RelatedTraveler BirthDate="2006-03-05">
<UniqueID ID="181493" ID_Context="protelIO" Type="1"/>
<PersonName Language="de">
<NamePrefix/>
<GivenName>Tick</GivenName>
<MiddleName/>
<Surname>Duck</Surname>
<Document DocID="987654321" DocType="5"/>
</PersonName>
<TPA_Extensions>
<px:GuestStayExtensions>
<px:StayInfo PrimaryInd="false" RelationToPrimary="Neffe / Nichte"/>
</px:GuestStayExtensions>
</TPA_Extensions>
</RelatedTraveler> |
The legal requirements in Spain stipulate that additional guests can be related to the main guest.
The relationship to the main guest can soon be transferred by the additional attribute with.
This is for example important for police reports.
PWS-3697
3.16.0
OTA_HotelResNotifRQ
outbound
OnPrem
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | TPA_Extensions | px:Traces
No change in XML, but traces from the past (before the current PMS business date) are no longer sent.
PWS-3676
3.16.0
OTA_ProfileModifyRQ
outbound
OnPrem
OTA_ProfileModifyRQ | ProfileModify | Customer | TPA_Extensions | px:ProfileExtensions | px:PersonInfos | px:Registration | px:Occupation
Codeblock | ||
---|---|---|
| ||
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:ProfileInfoExtensions>
<px:PersonInfos>
<px:MarketingCodes>
<px:Code DefaultInd="false" DisplaySequence="0" ID="3" ID_Context="protelIO" Type="MARKETINGCODE">Wintergast</px:Code>
</px:MarketingCodes>
<px:Registration BirthCountry="DE" BirthPlace="Oberhausen">
<px:Occupation>Polizist</px:Occupation>
</px:Registration>
<px:Language DefaultInd="true">en</px:Language>
</px:PersonInfos>
<px:Salutation ID="1" ID_Context="protelIO" Type="Salutation">Sehr geehrte Frau Werner</px:Salutation>
</px:ProfileInfoExtensions>
</TPA_Extensions> |
The attribute occupation was added.
PWS-3714
3.16.0
IO_ResModifyNotifRQ
inbound
OnPrem
IO_ResModifyNotifRQ | Reservations | Reservation | ProfileReferences | ProfileReference
@RelationToPrimary
Codeblock | ||
---|---|---|
| ||
<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".
OTA_ProfileModifyRQ
outbound
OnPrem
OTA_ProfileModifyRQ | ProfileModify | Customer | Document
no schema change
With OnPrem 23.060 it will be possible to store more than one travel document per profile so that the outbound profile messages may contain more than one document element.
PWS-3723
3.16.0
OTA_HotelResNotifRQ
outbound
OnPrem
HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile | Customer | RelatedTraveler | TPA_Extensions | px:GuestStayExtensions | px:StayInfo
Codeblock | ||||
---|---|---|---|---|
| ||||
<RelatedTraveler BirthDate="2006-03-05">
<UniqueID ID="181493" ID_Context="protelIO" Type="1"/>
<PersonName Language="de">
<NamePrefix/>
<GivenName>Tick</GivenName>
<MiddleName/>
<Surname>Duck</Surname>
<Document DocID="987654321" DocType="5"/>
</PersonName>
<TPA_Extensions>
<px:GuestStayExtensions>
<px:StayInfo PrimaryInd="false" RelationToPrimary="Neffe / Nichte"/>
</px:GuestStayExtensions>
</TPA_Extensions>
</RelatedTraveler> | ||||
<p:IO_ResModifyNotifRQ xmlns:p="http://protel.io/soap" CorrelationID="UseCase11b" TimeStamp="2018-12-29T15:20:35.985Z" Version="1.00">
<p:Reservations HotelCode="3152">
<p:Reservation ArrivalDate="2018-11-11">
<p:UniqueID ID="345474" Type="Reservation" ID_Context="Protel_IO"/>
<p:ProfileReferences>
<p:ProfileReference ID_Context="protelIO" Type="Customer" ID="181491" RelationToPrimary="Son" Action="CREATE"/>
</p:ProfileReferences>
</p:Reservation>
</p:Reservations>
</p:IO_ResModifyNotifRQ> |
The legal requirements in Spain stipulate that additional guests can be related to the main 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 withfor UseCase 11b only.
This The relation is for example important important for police reports.
PWS-36973700
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:
TracesNo 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
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:
OccupationDocumentInfo
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 | ||||
---|---|---|---|---|
| ||||
<Customer>
<TPA_Extensions>
....
<ProfileInfoExtensions>
| ||||
Codeblock | ||||
| ||||
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions"> <px:ProfileInfoExtensions> <px:PersonInfos> <px:MarketingCodes>.... <PersonInfos> <px:Code DefaultInd="false" DisplaySequence="0" ID="3" ID_Context="protelIO" Type="MARKETINGCODE">Wintergast</px:Code> .... </px:MarketingCodes> <px:Registration BirthCountry="DE" BirthPlace="Oberhausen <Registration BirthDate="1980-01-06" BirthCountry="MA"> <px:Occupation>Polizist</px: <Occupation>Mechanic</Occupation> </px:Registration> <DocumentInfos> <px:Language DefaultInd="true">en</px:Language> </px:PersonInfos> <px:Salutation<DocumentInfo IDRPH="1665554444" ID_Context="protelIOSNDS" ID="120-24440-GV0" Type="Salutation">Sehr geehrte Frau Werner</px:Salutation> DocumentIdentifier"/> </px:ProfileInfoExtensions> </TPA_Extensions> |
The attribute occupation was added.
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-3712PWS-3714
3.16.0
OTA_HotelResNotifRQ
OTA_ProfileCreateRQ
OTA_ProfileCreateRQ IO_ResModifyNotifRQ
inbound
OnPremOnPrem
IOOTA_ResModifyNotifRQ HotelResNotifRQ | Reservations HotelReservations | Reservation | ProfileReferences | ProfileReference
@RelationToPrimary
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 | ||||
---|---|---|---|---|
| ||||
<Customer>
<TPA_Extensions>
....
| ||||
Codeblock | ||||
| ||||
<p:IO_ResModifyNotifRQ xmlns:p="http://protel.io/soap" CorrelationID="UseCase11b" TimeStamp="2018-12-29T15:20:35.985Z" Version="1.00"> <p:Reservations HotelCode="3152"> <p:Reservation ArrivalDate="2018-11-11"> <p:UniqueID ID="345474" Type="Reservation" ID_Context="Protel_IO"/> <p:ProfileReferences> <ProfileInfoExtensions> <p:ProfileReference ID_Context="protelIO" Type="Customer" ID="181491" RelationToPrimary="Son" Action="CREATE"/ .... <PersonInfos> .... <Registration BirthDate="1980-01-06" BirthCountry="MA"> </p:ProfileReferences> <<Occupation>Mechanic</p:Reservation>Occupation> </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
<DocumentInfos>
<DocumentInfo RPH="665554444" ID_Context="SNDS" ID="120-24440-GV0" Type="DocumentIdentifier"/>
</DocumentInfos>
</Registration>
</PersonInfos>
</ProfileInfoExtensions>
</TPA_Extensions>
</Customer> |
Due to Spanish legal requirements (Police reports), we extend the TPA extensions in the Customer element with DocumentInfo for the support number of a Spanish documents.
PWS-3713
3.16.0
OTA_ProfileCreateRQ
OTA_ProfileCreateRQ
inbound
OnPrem
no change in xml
Codeblock | ||||
---|---|---|---|---|
| ||||
<Customer Gender="Male" BirthDate="2020-01-01" VIP_Indicator="true" Language="de" CustomerValue="ECA - 10%|0;VIP|2">
<PersonName>
<NamePrefix>Herr</NamePrefix>
<GivenName>Donald</GivenName>
<Surname>Duck</Surname>
</PersonName>
<CitizenCountryName DefaultInd="true" Code="DE"/>
<Document DocID="123456798" DocIssueLocation="" DocType="2" EffectiveDate="2020-01-01" ExpireDate="2030-01-01"/>
<Document DocID="963852" DocType="1" EffectiveDate="2021-10-10"/>
</Customer> |
With OnPrem version 23.060 and higher it is possible to send more than one document per profile.
PWS-3651
3.16.0
OTA_HotelResNotifRQ
OTA_ProfileCreateRQ
OTA_ProfileCreateRQ
outbound / inbound
OnPrem
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile | Profile |
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 | LicensePlate
OTA_ProfileCreateRQ | Profile | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:ProfileInfoExtensions | px:DocumentInfos PersonInfos | px:DocumentInfoRegistration | LicensePlate
OTA_ProfileModifyRQ | ProfileModify | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | px:DocumentInfos | px:DocumentInfoRegistration | LicensePlate
Codeblock | ||||
---|---|---|---|---|
| ||||
<Customer><px:ProfileInfoExtensions> <TPA_Extensions><px:PersonInfos> .... <px:Registration <ProfileInfoExtensions> BirthCountry="DE" BirthPlace="Entenhausen"> .... <PersonInfos><LicensePlate>ENT-DD 1</LicensePlate> </px:Registration> </px:PersonInfos> </px:ProfileInfoExtensions> |
Corrected the xml to follow the schema.
PWS-3711
3.16.
. <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_ProfileCreateRQ
OTA_ProfileCreateRQ
inbound
OnPrem
0
PWS 3.15.X Anker PWS 3.15.X PWS 3.15.X
Codeblock | ||||
---|---|---|---|---|
| ||||
<HotelReservation CreateDateTime="2022-12-07T11:40:52.250Z" CreatorID="protel 1" LastModifierID="protel 1" LastModifyDateTime="2023-05-23T14:08:29.770Z" ResStatus="Reserved" RoomNumberLockedIndicator="false"> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<TPA_Extensions>
<pxs:RoomStatusExtensions xmlns:pxs="http://protel.io/htng/extensions">
<pxs:HouseKeepingInfo RoomStatus="2"/>
</pxs:RoomStatusExtensions>
</TPA_Extensions> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<HotelReservation CreateDateTime="2022-12-07T11:40:52.250Z" CreatorID="protel 1" LastModifierID="protel 1" LastModifyDateTime="2023-05-23T14:08:29.770Z" ResStatus="Reserved" RoomNumberLockedIndicator="false"> |
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 | ||||
---|---|---|---|---|
| ||||
<Customer> <TPA_Extensions> <pxs:RoomStatusExtensions xmlns:pxs="http://protel.io/htng/extensions"> <pxs:HouseKeepingInfo RoomStatus="0"/> </pxs:RoomStatusExtensions> </TPA_Extensions> |
OTA_ProfileModifyRQ
OTA_ProfileCreateRQ | Profile | Customer | PersonName | NameTitle
OTA_ProfileModifyRQ | ProfileModify | Customer | PersonName | NameTitle
Codeblock | ||||
---|---|---|---|---|
| ||||
<PersonName>
<NamePrefix>Mr.</NamePrefix>
<GivenName>Kevin</GivenName>
<Surname>Boateng</Surname>
<NameTitle>Prince</NameTitle>
</PersonName> |
ESB 323 Anker ESB 323 ESB 323
onPrem
pAir
Codeblock | ||||
---|---|---|---|---|
| ||||
<Errors> .... <ProfileInfoExtensions> .... <PersonInfos> .... <Registration BirthDate="1980-01-06" BirthCountry="MA"> <Occupation>Mechanic</Occupation> <Error Code="188" Type="1" ShortText="Transaction error - please report. Incomplete Posting flow. Please check the guest folio before <DocumentInfos> <DocumentInfo RPH="665554444" ID_Context="SNDS" ID="120-24440-GV0" Type="DocumentIdentifier"/> a retry."/> </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
</Errors> |
- the ESB will not do retries itself
- the ESB will generate a generic RS to inform the sender of the RQ about the failure.
! The RQ should not be automatically retried - the posting itself could have happened, yet for some reason - no RS could have been generated by the PMS service (e.g. fiscalization error).
PWS 3.14.X
Anker | ||||
---|---|---|---|---|
|
OTA_ProfileCreateRQ
OTA_ProfileCreateRQ
inbound
OnPrem
Codeblock | ||||
---|---|---|---|---|
| ||||
<Customer<px:Registration GenderBirthCountry="MaleIT" BirthDateBirthPlace="2020-01-01CALVIGNASCO" VIP_IndicatorLicensePlate="true35347444" 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 | LicensePlateOTA_ProfileModifyRQ | ProfileModify | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:ProfileInfoExtensions | px:PersonInfos | px:Registration | LicensePlate
Codeblock | ||||
---|---|---|---|---|
| ||||
<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
Codeblock | ||||
---|---|---|---|---|
| ||||
<HotelReservation CreateDateTime="2022-12-07T11:40:52.250Z" CreatorID="protel 1" LastModifierID="protel 1" LastModifyDateTime="2023-05-23T14:08:29.770Z" ResStatus="Reserved" RoomNumberLockedIndicator="false"> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<TPA_Extensions>
<pxs:RoomStatusExtensions xmlns:pxs="http://protel.io/htng/extensions">
<pxs:HouseKeepingInfo RoomStatus="2"/>
</pxs:RoomStatusExtensions>
</TPA_Extensions> |
/> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<px:TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:ProfileInfoExtensions>
<px:AccountingInfos ARNumber="223344" Tax1="222222" Tax2="333333" />
</px:ProfileInfoExtensions>
</px:TPA_Extensions> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="utf-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Header>
<htnga:CorrelationID>CorrelationID123</htnga:CorrelationID>
<Source xmlns="http://protel.io/soap" Module="protel.WebServices" ModuleVersion="0.0.0.3" Product="protel On Premise SPE" ProductVersion="23.01000" Service="io.protel.onpremise"/>
</env:Header>
<env:Body>
<ns2:IO_SystemDataRS xmlns:ns2="http://protel.io/soap" CorrelationID="CorrelationID123" TimeStamp="2023-05-11T07:25:25.4624218Z" Version="3.000">
<ns2:UniqueID ID="3152" ID_Context="protelIO" Type="10"/>
<ns2:Success/>
<ns2:SystemData ChainCode="HC1" HotelCode="3152" HotelID="1" HotelName="Hotel Lamm">
<ns2:UniqueID ID="3152" ID_Context="protelIO" Type="10"/>
<ns2:Reservations>
<ns2:DefaultValues ArrivalTime="14:00" DepartureTime="10:00"/>
</ns2:Reservations>
</ns2:SystemData>
</ns2:IO_SystemDataRS>
</env:Body>
</env:Envelope> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<HotelReservation<?xml CreateDateTime="2022-12-07T11:40:52.250Z" CreatorID="protel 1" LastModifierID="protel 1" LastModifyDateTime="2023-05-23T14:08:29.770Z" ResStatus="Reserved" RoomNumberLockedIndicator="false"> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<TPA_Extensions> <pxs:RoomStatusExtensions xmlns:pxsversion='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://protel.io/htng/extensionswww.w3.org/2003/05/soap-envelope"> <pxs:HouseKeepingInfo RoomStatus="0"/> </pxs:RoomStatusExtensions> </TPA_Extensions> |
OTA_ProfileModifyRQ
OTA_ProfileCreateRQ | Profile | Customer | PersonName | NameTitle
OTA_ProfileModifyRQ | ProfileModify | Customer | PersonName | NameTitle
Codeblock | ||||
---|---|---|---|---|
| ||||
<PersonName>
<NamePrefix>Mr.</NamePrefix>
<GivenName>Kevin</GivenName>
<Surname>Boateng</Surname>
<NameTitle>Prince</NameTitle>
</PersonName> |
onPrem
pAir
Codeblock | ||||
---|---|---|---|---|
| ||||
<Errors>
<Error Code="188" Type="1" ShortText="Transaction error - please report. Incomplete Posting flow. Please check the guest folio before a retry."/>
</Errors> |
<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> |
- the ESB will not do retries itself
- the ESB will generate a generic RS to inform the sender of the RQ about the failure.
! The RQ should not be automatically retried - the posting itself could have happened, yet for some reason - no RS could have been generated by the PMS service (e.g. fiscalization error).
Codeblock | ||||
---|---|---|---|---|
| ||||
<px:Registration BirthCountry<Services> <Service ID="ITRemoveAll" BirthPlaceID_Context="CALVIGNASCOprotelIO" LicensePlateType="3534744416" /> </Services> |
If Service/@ID="RemoveAll" is provided, then any bookable package/s that are attached to the reservation will be removed from itImplmented guest BirthCountry & BirthPlace in profile messages, both inbound and outbound.
IPA 24.02
Anker IPA 24.02 IPA 24.02
outbound
inbound
OTA_HotelAvailNotifRQ |
@MessageContentCode
no changes in xml - new values for MessageContentCode
We use the value 4 for the restrictions on rate group level.
OTA_HotelInvBlockNotifRQ | InvBlocks | InvBlock | RoomTypes | RoomType| RatePlans | RatePlan | BaseByGuestAmounts | BaseByGuestAmount |
@TaxInclusive
Codeblock | ||||
---|---|---|---|---|
|
<px:TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:ProfileInfoExtensions>
<px:AccountingInfos ARNumber="223344" Tax1="222222" Tax2="333333" />
</px:ProfileInfoExtensions>
</px:TPA_Extensions>
Codeblock | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="utf-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Header>
<htnga:CorrelationID>CorrelationID123</htnga:CorrelationID>
<Source xmlns="http://protel.io/soap" Module="protel.WebServices" ModuleVersion="0.0.0.3" Product="protel On Premise SPE" ProductVersion="23.01000" Service="io.protel.onpremise"/>
</env:Header>
<env:Body>
<ns2:IO_SystemDataRS xmlns:ns2="http://protel.io/soap" CorrelationID="CorrelationID123" TimeStamp="2023-05-11T07:25:25.4624218Z" Version="3.000">
<ns2:UniqueID ID="3152" ID_Context="protelIO" Type="10"/>
<ns2:Success/>
<ns2:SystemData ChainCode="HC1" HotelCode="3152" HotelID="1" HotelName="Hotel Lamm">
<ns2:UniqueID ID="3152" ID_Context="protelIO" Type="10"/>
<ns2:Reservations>
<ns2:DefaultValues ArrivalTime="14:00" DepartureTime="10:00"/>
</ns2:Reservations>
</ns2:SystemData>
</ns2:IO_SystemDataRS>
</env:Body>
</env:Envelope> |
language | xml |
---|---|
collapse | true |
<RatePlan CurrencyCode="EUR" End="2023-12-15" MaxGuestApplicable="5" RatePlanCode="AK_RACK2" Start="2023-12-13" UnitMultiplier="0"> <BaseByGuestAmts> <BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="152.00" AmountBeforeTax="138.18" CurrencyCode="EUR" NumberOfGuests="1" TaxInclusive="true"/> <BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="200.00" AmountBeforeTax="181.82" CurrencyCode="EUR" NumberOfGuests="2" TaxInclusive="true"/> <BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="301.00" AmountBeforeTax="273.64" CurrencyCode="EUR" NumberOfGuests="3" TaxInclusive="true"/> <BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="400.00" AmountBeforeTax="363.64" CurrencyCode="EUR" NumberOfGuests="4" TaxInclusive="true"/> <BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="501.00" AmountBeforeTax="455.45" CurrencyCode="EUR" NumberOfGuests="5" TaxInclusive="true"/> <BaseByGuestAmt AgeQualifyingCode="8" AmountAfterTax="9.00" AmountBeforeTax="8.18" CurrencyCode="EUR" NumberOfGuests="0" TaxInclusive="true"/> <BaseByGuestAmt AgeQualifyingCode="8" AmountAfterTax="9.00" AmountBeforeTax="8.18" CurrencyCode="EUR" NumberOfGuests="1" TaxInclusive="true"/> |
<BaseByGuestAmt |
AgeQualifyingCode=" |
8" |
AmountAfterTax=" |
9.00" |
AmountBeforeTax=" |
8.18" |
CurrencyCode=" |
EUR" NumberOfGuests="2" TaxInclusive="true"/> |
|
|
|
|
<BaseByGuestAmt AgeQualifyingCode="8" AmountAfterTax="9.00" AmountBeforeTax="8.18" CurrencyCode="EUR" NumberOfGuests="3" TaxInclusive="true"/>
<BaseByGuestAmt AgeQualifyingCode="8" AmountAfterTax="9.00" AmountBeforeTax="8.18" CurrencyCode="EUR" NumberOfGuests="4" TaxInclusive="true"/>
</BaseByGuestAmts>
<RateDescription Name="RateGroup">
<Text TextFormat="PlainText">PUB</Text>
</RateDescription>
<MarketCode MarketCode="BUS" MarketCodeName="BUS"/>
</RatePlan> |
This indicates if the rate accommodation is set with TAA including taxes or excluding taxes.
Codeblock | ||||
---|---|---|---|---|
| ||||
<Services>
<Service ID="RemoveAll" ID_Context="protelIO" Type="16"/>
</Services> |
If Service/@ID="RemoveAll" is provided, then any bookable package/s that are attached to the reservation will be removed from it.
IPA 23.48
Anker IPA 23.48 IPA 23.48
IO_InvoiceFiscalizeRQ
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:DepositReferences> <p:DepositReference InvoiceDate="2022-03-07T16:08:19+01:00" InvoiceCode="69" Fiscalized="false" ExternallyFiscalized="false" Type="Reservation" PastEndOfDay="true" Open="false" Void="false" InvoiceID="537" BusinessDate="2022-03-07"/> </p:DepositReferences> |
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
outbound
inbound
Codeblock | ||||
---|---|---|---|---|
| ||||
<Customer> <TPA_Extensions> .... <ProfileInfoExtensions> .... <PersonInfos> .... <Registration BirthDate="1980-01-06" BirthCountry="MA"> <Occupation>Mechanic</Occupation> <DocumentInfos> <DocumentInfo RPH="665554444" ID_Context="SNDS" ID="120-24440-GV0" Type="DocumentIdentifier"/> </DocumentInfos> </Registration> </PersonInfos> </ProfileInfoExtensions> </TPA_Extensions> </Customer> |
the TPA extension in the Customer element with DocumentInfo for the support number of a spanish passport.
IPA-1325
IPA-1327
OTA_HotelResNotif
outbound
inbound
Codeblock | ||||
---|---|---|---|---|
| ||||
<Customer> <TPA_Extensions> .... <ProfileInfoExtensions> .... <PersonInfos> .... <Registration BirthDate="1980-01-06" BirthCountry="MA"> <Occupation>Mechanic</Occupation> <DocumentInfos> <DocumentInfo RPH="665554444" ID_Context="SNDS" ID="120-24440-GV0" Type="DocumentIdentifier"/> </DocumentInfos> </Registration> </PersonInfos> </ProfileInfoExtensions> </TPA_Extensions> </Customer> |
the TPA extension in the Customer element with DocumentInfo for the support number of a spanish passport.
IPA-1325
IPA-1327
OTA_HotelStayInfoNotifRQ
Codeblock | ||||
---|---|---|---|---|
| ||||
<Customer> <TPA_Extensions> .... <ProfileInfoExtensions> .... <PersonInfos> .... <Registration BirthDate="1980-01-06" BirthCountry="MA"> <Occupation>Mechanic</Occupation> <DocumentInfos> <DocumentInfo RPH="665554444" ID_Context="SNDS" ID="120-24440-GV0" Type="DocumentIdentifier"/> </DocumentInfos> </Registration> </PersonInfos> </ProfileInfoExtensions> </TPA_Extensions> </Customer> |
the TPA extension in the Customer element with DocumentInfo for the support number of a spanish passport.
IPA 23.42
Anker IPA 23.42 IPA 23.42
IO_ResModifyNotifRQ | Reservations | Reservation | ProfileReferences | ProfileReference
@RelationToPrimary
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:IO_ResModifyNotifRQ xmlns:p="http://protel.io/soap" CorrelationID="UseCase11b" TimeStamp="2018-12-29T15:20:35.985Z" Version="1.00"> <p:Reservations HotelCode="3152"> <p:Reservation ArrivalDate="2018-11-11"> <p:UniqueID ID="345474" Type="Reservation" ID_Context="Protel_IO"/> <p:ProfileReferences> <p:ProfileReference ID_Context="protelIO" Type="Customer" ID="181491" RelationToPrimary="Son" Action="CREATE"/> </p:ProfileReferences> </p:Reservation> </p:Reservations> </p:IO_ResModifyNotifRQ> |
The legal requirements in Spain stipulate that additional guests can be related to the main guest.
The relationship to the main guest can soon be transferred by the additional attribute with.
This is for example important for police reports.
IPA 23.40
Anker IPA 23.40 IPA 23.40
HotelReservation | ResGuests | ResGuest | TPA_Extensions | px:GuestStayExtensions | px:StayInfo
@RelationToPrimary
Codeblock | ||||
---|---|---|---|---|
| ||||
<GuestStayExtensions xmlns:htng="http://htng.org/2014B" xmlns:p="http://protel.io/soap" xmlns:px="http://protel.io/htng/extensions"> <StayInfo Role="BookerAndArrivingGuest" RelationToPrimary="Abuelo" PrimaryInd="false" /> </GuestStayExtensions> |
The legal requirements in Spain stipulate that additional guests can be related to the main guest.
The relationship to the main guest can soon be transferred by the additional attribute with.
This is for example important for police reports.
IPA-1302
IPA-1304
IPA 23.38
Anker IPA 23.38 IPA 23.38
IO_InvoiceFiscalizeRQ
IO_InvoiceFiscalizeNotifRQ
IO_InvoiceFiscalizeRQ | Invoice | @TaxProcedureCode
IO_InvoiceFiscalizeNotifRQ | Invoice | @TaxProcedureCode
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:Invoice BusinessDate="2023-08-10" DeliveryDate="2023-08-10" ExternallyFiscalized="false" FiscalCode="123456" FiscalCodeID="2" FiscalCodeName="Nota de plata" FiscalDate="2023-08-10T08:19:02+03:00" Fiscalized="true" InvoiceCode="RE_8623" InvoiceDate="2023-08-10T08:19:02+03:00" InvoiceID="4321" Open="false" PastEndOfDay="false" Type="Reservation" User="Beniamin Icobescu" UserTaxNo="" Void="false" TaxProcedureCode="FP"> |
Due to Polish legal fiscal requirements, we're extending the schema by adding a new attribute.
For some TAA’s it’s necessary to assign TaxProcedureCode. When this code is assigned then it has to be reported to the Government server.
e.g.:
"FP" = Invoice that has been generated to fiscal receipt
Full list of allowed values: PMS_TaxProcedureCode
IO_InvoiceFiscalizeRQ
IO_InvoiceFiscalizeNotifRQ
IO_InvoiceFiscalizeRQ | Invoice | Charges | Item | @GroupCode
IO_InvoiceFiscalizeNotifRQ | Invoice | Charges | Item | @GroupCode
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:Charges> <p:Item ID="230326" PostingAccount="4" Quantity="1" ServiceDate="2023-08-09" SystemDate="2023-08-09T20:19:35+03:00" TaxCode="19%" TaxRate="19.000000000" Type="Article" GroupCode="GTU01"> |
Due to Polish legal fiscal requirements, we're extending the schema by adding a new attribute.
In some situations it is necessary to have GTUCode assigned to the invoice header.
This should be related to fiscal code (assignable to fiscal code in PMS SD).
e.g.:
"GTU01" = Alcohol products
"GTU02" = Fuel products
Full list of allowed values: PMS_GroupCode
IPA 23.36
Anker IPA 23.36 IPA 23.36
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
Codeblock | ||||
---|---|---|---|---|
| ||||
<TPA_Extensions> <px:ProfileInfoExtensions> <px:AddressTypes/> <px:ContactDetails> <px:AdditionalInfo/> </px:ContactDetails> <px:PersonInfos> <px:LastNameAtBirth/> <px:FirstNameAtBirth/> <px:LastNameMother/> <px:FirstNameMother/> <px:Language DefaultInd="true">en-us</px:Language> <px:VipCodes/> <px:MarketingCodes/> <px:Keywords/> </px:PersonInfos> <px:ProfileStatus/> <px:DocumentTypes> <px:DocumentType DefaultInd="false" DisplaySequence="-1" ID="199" ID_Context="protelIO" RPH="cd434bf7-2fc0-4245-8a1d-f1cd0fd41695" Type="Checking for validation">Checking for validation</px:DocumentType> <px:DocumentType DefaultInd="true" DisplaySequence="1" ID="350" ID_Context="protelIO" RPH="9b313b86-b33a-49da-87aa-8c81dd4ea22c" Type="Identity card">Identity card</px:DocumentType> </px:DocumentTypes> <px:StatisticalInfos/> <px:Traces/> <px:LogEntries/> <px:Memberships/> </px:ProfileInfoExtensions> <px:UserDefinedFieldExtensions> <px:UserDefinedField Name="BM" Type="List">August</px:UserDefinedField> <px:UserDefinedField Name="AM" Type="List">September</px:UserDefinedField> <px:UserDefinedField Name="DR" Type="List">Allergy</px:UserDefinedField> </px:UserDefinedFieldExtensions> </TPA_Extensions> |
IPA 23.32
Anker IPA 23.32 IPA 23.32
Codeblock | ||||
---|---|---|---|---|
| ||||
<RoomStays> <RoomStay MarketCode="CORP_GRP" SourceOfBusiness="3PAR"> <RoomTypes> <RoomType IsRoom="true" NumberOfUnits="1" RoomID="53" RoomType="51" RoomTypeCode="CLASTW"> <TPA_Extensions> <px:RoomStatusExtensions> <px:HouseKeepingInfo RoomStatus="1"/> </px:RoomStatusExtensions> </TPA_Extensions> </RoomType> </RoomTypes> |
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
...