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.
Release dates pAIR LIVE Environment
Version | Release date |
---|
24. |
46 |
2024- |
12- |
11 |
24. |
42 |
2024- |
11- |
13 |
24. |
42 |
2024- |
Release dates PWS (onPrem) LIVE Environment
11-06 NO regular Release | |
24.42 | 2024-10-30 NO regular Release |
24.42 | 2024-10-16 NO regular Release |
24.38 | 2024-09-30 |
24.38 | 2024-09-18 NO regular Release |
24.36 | 2024-09-04 - IPA update will be now every 4 weeks |
24.34 | 2024-08-21 |
24.32 | 2024-08-07 NO regular Release |
24.30 | 2024-07-24 NO regular Release |
24.29 | 2027-07-17 |
24.28 | 2024-07-10 NO regular Release |
24.26 | 2024-06-26 NO regular Release |
24.24 | 2024-06-12 |
24.22 | 2024-05-29 |
24.20 | 2024-05-15 |
24.18 | NO regular Release on Wednesday 01.05.2024 due to public Holiday in Germany |
24.16 | 2024-04-17 |
24.14 | 2024-04-03 |
24.12 | 2024-03-20 |
24.10 | 2024-03-06 |
24.08 | 2024-02-21 |
24.06 | 2024-02-07 |
24.04 | 2024-01-24 |
24.02 | 2024-01-10 |
Release dates ESB (I/O) LIVE Environment
Version | Release date |
---|---|
2.6.3 | 2024-11-06 |
2.6.2 | 2024-09-25 |
2.6.1 | 2024-08-21 |
2.6.0 | 2024-07-15 |
2.5.3 | 2024-06-10 |
2.5.2 | 2024-05-15 |
2.5.1 | 2024-04-10 |
2.5.0 | 2024-02-26 |
TBA IDS | ||||||||||||||||
TBA ESB | ||||||||||||||||
Bulk Export from SMP UI | outbound | OnPrem pAir | n/a | no schema change | Each 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-2928 | TBA | |||||||||
Bulk Export from SMP UI | outbound | OnPrem pAir | n/a | no 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-8229 | 2.5.4 | |||||||||
TBA PWS | ||||||||||||||||
OTA_ReadRQ/OTA_ResRetrieveRS | inbound | onPremise | extend the Reservation search by roomtypes |
| In the ReadRQ it is now possible to request the RoomType in addition to the time period and reservation status. | PWS-3822 | TBA | |||||||||
TBA IPA | ||||||||||||||||
IO_SystemDataRS | outbound | pAir | no schema change but we will expand for pAir the attributes
| no schema change | In the pAir SystemData in Rate Configuration you can define Discount Groups. With the extension for pAir we send the attributes
| 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 / inbound | pAir | OTA_ProfileModifyRQ | ProfileModify | Customer | Document |
| To be legal in Austria, a new Attribute is added to the Document Element with the label "Issuing Authorities" | IPA-1369 | TBA | |||||||||
IO_SystemDataRQ | inbound | pAir | IO_SystemDataRQ | Request | Rates |
| The vendor should be able to tell us in the RQ with the attribute IncludeInvisible="true or false" which rates he wants to see.
| IPA-1404 | TBA | |||||||||
IO_SystemDataRS | outbound | pAir | IO_SystemDataRS | SystemData | Rates | RatePlans | RatePlan |
| The vendor should be able to tell us in the RQ with the attribute IncludeInvisible="true or false" which rates he wants to see.
| IPA-1403 | TBA | |||||||||
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 |
| PWS-3821 | 3.19.0 | ||||||||||
IO_SystemDataRQ | inbound | OnPrem | IO_SystemDataRQ | Request | Rates @IncludeInvisible |
| 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 | 3.19.0 | |||||||||
IO_SystemDataRS | outbound | OnPrem | IO_SystemDataRS | SystemData | Reservations | GuestRelationTypes | GuestRelationType |
| Added the GuestRelationType to the SystemDataRS. | PWS-3835 | 3.19.0 | |||||||||
PWS 3.17.X | ||||||||||||||||
OTA_HotelInvBlockNotifRQ | outbound | OnPrem | OTA_HotelInvBlockNotifRQ | InvBlocks | InvBlock | RoomTypes | RoomType | RatePlans | RatePlan@TaxInclusive |
| 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-3729 | 3.17.0 | |||||||||
HTNG_HotelRoomStatusUpdateNotifRQ | outbound / inbound | OnPrem | Message implemented for outbound and inbound processing. | PWS-3202 PWS-3246 | 3.17.0 | |||||||||||
PWS 3.16.X | ||||||||||||||||
OTA_ProfileCreateRQ | outbound | OnPrem | OTA_ProfileCreateRQ | Profile | 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 |
| 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 |
| The attribute occupation was added. | PWS-3714 | 3.16.0 | |||||||||
IO_ResModifyNotifRQ | inbound | OnPrem | IO_ResModifyNotifRQ | Reservations | Reservation | ProfileReferences | ProfileReference @RelationToPrimary |
| 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 | 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 |
| 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 | 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 |
| 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 |
| 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
|
| Corrected the xml to follow the schema. | PWS-3711 | 3.16.0 | |||||||||
ESB 323 | ||||||||||||||||
HTNG_ChargePostingRS | outbound | onPrem pAir | HTNG_ChargePostingRS | Errors | Error |
| If no RS is generated by the PMS service within ~55 seconds, then:
! 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-7390 | ESB 323 | |||||||||
IPA 24.38
| ||||||||||||||||
OTA_HotelResNotifRQ | inbound | pAir | no schema change | no schema change | Handling for CC-Cards
→ 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) | IPA-1568 | 24.38 | |||||||||
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-5999 | 24.29 | |||||||||
IPA 24.24
| ||||||||||||||||
IO_InvoiceFiscalizeRQ IO_InvoiceFiscalizeNotifRQ | outbound | pAir | IO_InvoiceFiscalizeRQ | Invoice | 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-1367 | TBA | |||||||||
IO_InvoiceFiscalizeRQ IO_InvoiceFiscalizeNotifRQ | outbound | pAir | IO_InvoiceFiscalizeRQ | Invoice | 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-1365 | TBA | |||||||||
IO_SystemDataRS | outbound | pAir | IO_SystemDataRS | SystemData | Accounting | InvoiceFormat |
| Due to the legal requirements in Romania, we are expanding the Accounting element with a new element for the invoice format for invoices. | IPA-1365 | TBA | |||||||||
IO_InvoiceFiscalizeRQ IO_InvoiceFiscalizeNotifRQ | outbound | pAir | 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
| ||||||||||||||||
OTA_HotelResNotifRQOTA_HotelStayInfoNotifRQOTA_ResRetrieveRSHTNG_HotelCheckInNotifRQHTNG_HotelCheckOutNotifRQ | outbound | pAir | HotelReservation | ResGuests | ResGuest | TPA_Extensions | px:GuestStayExtensions | px:StayInfo @CheckedIn @CheckedOut |
| 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 / inbound | pAir | px:ReservationExtensions | px:ProcessingInstructions | px:ResGuests | @FullOverlay @Role |
| Extending the handling of list of profiles linked to a 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
| ||||||||||||||||
IO_InvoiceFiscalizeRQ IO_InvoiceFiscalizeNotifRQ | outbound | pAir | IO_InvoiceFiscalizeRQ | Invoice |
| Due to legal requirements in Portugal, we are expanding @SystemFiscalCode1 for ATCUD @SystemFiscalCode2 for NIF @SystemFiscalCode3 for SAFT | IPA-1350 | 24.14 | |||||||||
IO_InvoiceFiscalizeRQ IO_InvoiceFiscalizeNotifRQ | outbound | pAir | IO_InvoiceFiscalizeRQ | Invoice | InvoiceRecipient | AccountingInfos |
| We extend the AccountingInfos with the attributes @FiscalUID @CompanyRegNumber | IPA-1380 | 24.14 | |||||||||
IO_InvoiceFiscalizeNotifRQ IO_InvoiceFiscalizeRQ | outbound | pAir | IO_InvoiceFiscalizeRQ | Invoice | InvoiceRecipient | AccountingInfos |
| Due to legal requirements in Italy, we extend @PublicAdministrationInd @SplitPaymentInd | IPA-1363 | 24.14 | |||||||||
OTA_ProfileCreateRQ OTA_ProfileModifyRQ | outbound inbound | pAir | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:AccountingInfos |
| 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 |
| We extend the AccountingInfos with the attributes @FiscalUID @CompanyRegNumber | IPA-1377 IPA-1378 | 24.14 | |||||||||
OTA_HotelStayInfoNotifRQ | outbound | pAir | OTA_HotelStayInfoNotifRQ | StayInfos | StayInfo | HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile| Customer | TPA_Extensions | px:ProfileInfoExtensions | px:AccountingInfos |
| We extend the AccountingInfos with the attributes @FiscalUID @CompanyRegNumber | IPA-1377 | 24.14 | |||||||||
IPA 24.12
| ||||||||||||||||
OTA_HotelResNotifRQ | outbound / inbound | pAir | OTA_HotelResNotifRQ | HotelReservations | HotelReservation | ResGuests | ResGuest | TPA_Extensions | px:GuestStayExtensions | px:StayInfo |
| 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
| ||||||||||||||||
IO_SystemDataRS | outbound | pAir | IO_SystemDataRS | SystemData | Reservations | GuestRelationTypes | GuestRelationType |
| Due to legal requirements in Spain, we are expanding the GuestRelationTypeselement with the attributes for the relationship types. | IPA-1353 | 24.08 | |||||||||
IPA 24.02
| ||||||||||||||||
OTA_ProfileCreateRQ OTA_ProfileModifyRQ | outbound inbound | pAir | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:AccountingInfos |
| Due to legal requirements in Italy, we extend @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 |
| Due to legal requirements in Italy, we extend @PublicAdministrationInd @SplitPaymentInd | IPA-1346 IPA-1339 | 24.02 | |||||||||
OTA_HotelStayInfoNotifRQ | outbound | pAir | OTA_HotelStayInfoNotifRQ | StayInfos | StayInfo | HotelReservation | ResGuests | ResGuest | Profiles | ProfileInfo | Profile| Customer | TPA_Extensions | px:ProfileInfoExtensions | px:AccountingInfos |
| Due to legal requirements in Italy, we extend @PublicAdministrationInd @SplitPaymentInd | IPA-1339 | 24.02 | |||||||||
OTA_HotelAvailNotifRQ | outbound inbound | pAir | OTA_HotelAvailNotifRQ | @MessageContentCode | no changes in xml - new values for MessageContentCode | We use the value 4 for the restrictions on rate group level. | IPA-1334 | 24.02 | |||||||||
OTA_ResRetrieveRS | outbound | pAir | OTA_ResRetrieveRS | ReservationsList | HotelReservation | @GroupName ResGuests | ResGuest | TPA_Extensions | px:ReservationGroupExtensions | px:GroupInfo| @GroupName |
| 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 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-1040 | 24.02 |
Codeblock | ||||
---|---|---|---|---|
| ||||
<Rates>
<Rate RateTier="Active" Mon="true" Tue="true" Weds="true" Thur="true" Fri="true" Sat="true" Sun="true" Start="2021-11-23" End="2021-11-23" CurrencyCode="EUR" InvTypeCode="50">
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="90.48" AmountAfterTax="95.00" NumberOfGuests="1" AgeQualifyingCode="10"/>
</BaseByGuestAmts>
</Rate> |
Extend the cnfiguration to enable sending both Amount Before and After tax per adult calculation
OTA_HotelRatePlanNotifRQ/ .. /BaseByGuestAmt | 1..n | Description |
---|---|---|
/@AmountBeforeTax | 0..1 | The total amount excluding all associated taxes (e.g., sales tax, VAT, GST or any associated tax). |
/@AmountAfterTax | 0..1 | The total amount including all associated taxes (e.g., sales tax, VAT, GST or any associated tax). |
OTA_HotelInvBlockNotifRS | Errors | Error | @Type
OTA_HotelInvBlockNotifRS | Errors | Error | @RecordID
OTA_HotelInvBlockNotifRS | Errors | Error | @ShortText
OTA_HotelInvBlockNotifRS | Warnings | Warning | @Type
OTA_HotelInvBlockNotifRS | Warnings | Warning | @RecordID
OTA_HotelInvBlockNotifRS | Warnings | Warning | @ShortText
OTA_HotelAvailRS | Errors | Error | @Type
OTA_HotelAvailRS | Errors | Error | @RecordID
OTA_HotelAvailRS | Warnings | Warning | @Type
OTA_HotelAvailRS | Warnings | Warning | @RecordID
HTNG_HotelCheckOutNotifRS | Errors | Error | @Type
HTNG_HotelCheckOutNotifRS | Warnings | Warning | @Type
HTNG_HotelCheckInNotifRS | Errors | Error | @Type
HTNG_HotelCheckInNotifRS | Warnings | Warning | @Type
OTA_ResRetrieveRS
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
OTA_ProfileCreateRQ | Profile | Customer | CustLoyalty | SubAccountBalance | @Balance
OTA_ProfileModifyRQ | ProfileModify | | Customer | CustLoyalty | SubAccountBalance | @Balance
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
Vip codes
OTA_ProfileCreateRQ | Profile | TPA_Extensions | ProfileInfoExtensions | VipCodes | Code
OTA_ProfileModifyRQ | ProfileModify | TPA_Extensions | ProfileInfoExtensions | VipCodes | CodeMarketing codes
OTA_ProfileCreateRQ | Profile | TPA_Extensions | ProfileInfoExtensions | MarketingCodes | Code
Codeblock | ||||
---|---|---|---|---|
| ||||
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:ProfileInfoExtensions>
<px:PersonInfos>
<px:VipCodes>
<px:Code DefaultInd="true" DisplaySequence="0" ID="13" ID_Context="protelIO" Type="VIPCODE" Value="GOLD"/>
<px:Code DefaultInd="false" DisplaySequence="0" ID="8" ID_Context="protelIO" Type="VIPCODE" Value="Gold Elite"/>
</px:VipCodes>
<px:MarketingCodes>
<px:Code DefaultInd="true" DisplaySequence="0" ID="5" ID_Context="protelIO" Type="MARKETINGCODE" Value="Feriengast"/>
<px:Code DefaultInd="false" DisplaySequence="0" ID="15" ID_Context="protelIO" Type="MARKETINGCODE" Value="Alusingen"/>
</px:MarketingCodes>
</px:PersonInfos>
</px:ProfileInfoExtensions>
</TPA_Extensions> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<CustLoyalty ProgramID="GHA" MembershipID="" RPH="3678116" PrimaryLoyaltyIndicator="false" AllianceLoyaltyLevelName="ALS" Remark="" LoyalLevel="GOLD" SignupDate="2017-06-21" EffectiveDate="2017-06-21" ExpireDate="2017-08-21" ShareMarketInd="No" ShareSyncInd="No">
<SubAccountBalance Balance="0" />
</CustLoyalty> |
The following xSetup is needed:
profiles - enable_loyalty_cards = 1
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" ReturnListIndicator="true" CorrelationID="123456789"> |
Implement a WildCard Search
- @ReturnListIndicator="true" then all the search filters will be applied as "like" search criteria (wildcard search).
- @ReturnListIndicator="false" then all search criterias are checked (strict search)
- @ReturnListIndicator is missing then all search criterias are checked (strict search)
Codeblock | ||||
---|---|---|---|---|
| ||||
<?xml version='1.0' encoding='utf-8'?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header>
<htnga:CorrelationID xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders">2d229478-326d-a6f8-e3a6-190e618596cd</htnga:CorrelationID>
<Source xmlns="http://protel.io/soap" Product="protel On Premise SPE" ProductVersion="21.04000" Module="protel.WebServices" ModuleVersion="0.0.0.9153" Service="io.protel.onpremise"/>
</env:Header>
<env:Body>
<OTA_HotelAvailNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2021-02-01T09:59:11Z" Version="3.000" CorrelationID="2d229478-326d-a6f8-e3a6-190e618596cd">
<UniqueID Type="10" ID="3153" ID_Context="protelIO"/>
<Success/>
<Warnings>
<Warning ShortText="Unable to process" Code="450" Type="10">No restrictions found for deletion! No existing restriction with single definition for roomType 5!</Warning>
<Warning ShortText="Unable to process" Code="450" Type="10">No restrictions found for deletion! No existing restriction with single definition for roomType 5!</Warning>
</Warnings>
</OTA_HotelAvailNotifRS>
</env:Body>
</env:Envelope> |
Codeblock | ||
---|---|---|
| ||
<OTA_HotelStayInfoNotifRQ>
<StayInfos>
<StayInfo>
<RevenueCategories>
<RevenueCategory>
<RevenueDetails>
<RevenueDetail>
<FolioIDs>
<FolioID>InvID|408616</FolioID>
<FolioID>ResID|2387956</FolioID>
<FolioID>GstID|5374993</FolioID>
<FolioID>TAAGrp|ROOMS</FolioID> |
Codeblock | ||||
---|---|---|---|---|
| ||||
...
<Contact ContactType="Private">
<PersonName>
<GivenName>Alireza</GivenName>
<Surname>memarifard</Surname>
</PersonName>
<Telephone PhoneNumber="017777777" PhoneTechType="5" ShareMarketInd="No" PhoneLocationType="6" DefaultInd="true" />
<Address Type="2" ShareMarketInd="Yes" DefaultInd="true">
<AddressLine />
<CityName />
<PostalCode />
<StateProv/>
<CountryName Code="DE">Germany</CountryName>
</Address>
<Email EmailType="1" ShareMarketInd="No" DefaultInd="true">memaryfard@gmail.com</Email>
</Contact>
.... |
"Closed" > if an invoice is closed and fiscalized
"Open" > if an Invoice ID assigned but not fiscalized
"Open" > if no invoice ID yet assigned to the invoice
OTA_ProfileModifyRQ
- value set to "no" in protel
→ attribute @ShareMarketInd="No" will be send - value set to "yes" in protel
→ attribute @ShareMarketInd="Yes" will be send - value set to "not asked" in protel
→ attribute @ShareMarketInd will NOT be send
HTNG_HotelCheckOutNotifRS | TPA_Extensions | DocumentExtensions | DocumentData
Codeblock | ||||
---|---|---|---|---|
| ||||
<HTNG_HotelCheckOutNotifRS xmlns="http://htng.org/2014B" TimeStamp="2020-09-28T11:28:12.2502538Z" Version="3.000" CorrelationID="Test_AKO_6">
<Success/>
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:DocumentExtensions>
<px:DocumentData Type="Invoice" ID="419" ID_Context="protelIO">JVBERi0xLjYKJcOkw7zDtsOfCjIgM...</px:DocumentData> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:ReservationExtensions>
<px:ReservationDateInfo CreateDateTimeSyncInd="False" ModifyDateTimeSyncInd="True"/>
<px:ReservationStatus Code="Conf" ID="1" ID_Context="protelIO" Name="gtd" RPH="625974"/>
<px:FixedCharges>
<px:FixedCharge Code="€ Halbpension" Recurrence="DaysOfWeek" Quantity="2" RequestedIndicator="true">
<px:Price CurrencyCode="EUR" SingleAmountAfterTax="5.00"/>
<px:UniqueID Type="FixedCharge" ID="49295" ID_Context="protelIO"/>
<px:Item ItemID="339"/>
<px:InvoiceText>€ Halbpension</px:InvoiceText>
</px:FixedCharge>
</px:FixedCharges>
</px:ReservationExtensions>
</TPA_Extensions> |
HTNG_HotelCheckInNotifRQ/RS
HTNG_HotelCheckOutNotifRQ/RS
HTNG_HotelFolioRQ/RS
IO_ResModifyNotifRQ/RS
IO_SystemStatusRQ/RS
OTA_HotelAvailNotifRQ/RS
OTA_HotelAvailRQ/RS
OTA_HotelInvBlockNotifRQ/RS
OTA_HotelRatePlanNotifRQ/RS
OTA_ProfileCreateRQ/RS
OTA_ProfileMergeRQ/RS
OTA_ProfileModifyRQ/RS
OTA_ReadRQ/OTA_ProfileReadRS
OTA_ReadRQ/OTA_ResRetrieveRS
- If the RS message of an inbound RQ message is not activated in the configuration, PWS will answer the RQ with an error in the RS
<Error ShortText="RS not activated in IO configuration" Code="321" Type="1">RS not activated in IO configuration</Error> and the RQ is NOT processed. - If the RS message of an inbound RQ message is missing in the configuration, the PWS will NOT send a RS message back and will NOT process the RQ. It will create an entry in the interface error dialog like "OTA_ProfileMergeRS | RS not found / configured in IO configuration."
IO_ResModifyNotifRQ | Reservations | @HotelCode
IO_ResModifyNotifRQ | Reservations | @HotelID
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:IO_ResModifyNotifRQ xmlns:p="http://protel.io/soap" CorrelationID="PWS-2376-SR-1" TimeStamp="2018-12-29T15:20:35.985Z" Version="1.00">
<p:Reservations HotelCode="3152">
<p:Reservation>
<p:UniqueID ID="345470" Type="14" ID_Context="Protel_IO"/>
<p:Slices>
<p:Slice From="2018-11-15T12:00:00+02:00" To="2018-11-18T12:00:00+02:00">
<p:Room RoomType="GFamÜKat"/>
</p:Slice>
</p:Slices>
</p:Reservation>
</p:Reservations>
</p:IO_ResModifyNotifRQ> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:IO_ResModifyNotifRQ xmlns:p="http://protel.io/soap" CorrelationID="PWS-2376-SR-2" TimeStamp="2018-12-29T15:20:35.985Z" Version="1.00">
<p:Reservations HotelID="3152">
<p:Reservation>
<p:UniqueID ID="345470" Type="14" ID_Context="Protel_IO"/>
<p:Slices>
<p:Slice From="2018-11-15T12:00:00+02:00" To="2018-11-18T12:00:00+02:00">
<p:Room RoomType="Klassik"/>
</p:Slice>
</p:Slices>
</p:Reservation>
</p:Reservations>
</p:IO_ResModifyNotifRQ> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<Services>
<Service ID="29" ID_Context="protelIO" Type="16" ServiceInventoryCode="29" ServicePricingType="Per stay" Quantity="1" Inclusive="true" RequestedIndicator="false">
<Price RateTimeUnit="Day" EffectiveDate="2019-05-21" ExpireDate="2019-05-24">
<Total AmountBeforeTax="13.64" AmountAfterTax="15.00" CurrencyCode="EUR"/>
</Price>
<ServiceDetails>
<TimeSpan Start="2019-05-21" End="2019-05-24"/>
<Comments>
<Comment>
<Text TextFormat="PlainText">INCLUSIVE</Text>
</Comment>
</Comments>
<Total AmountBeforeTax="13.64" AmountAfterTax="15.00" CurrencyCode="EUR"/>
</ServiceDetails>
</Service>
<Service ID="26" ID_Context="protelIO" Type="16" ServiceInventoryCode="26" ServicePricingType="Per stay" Quantity="1" Inclusive="true" RequestedIndicator="true">
<Price RateTimeUnit="Day" EffectiveDate="2019-05-21" ExpireDate="2019-05-24">
<Total AmountBeforeTax="25.00" AmountAfterTax="30.00" CurrencyCode="EUR"/>
</Price>
<ServiceDetails>
<TimeSpan Start="2019-05-21" End="2019-05-24"/>
<Comments>
<Comment>
<Text TextFormat="PlainText">ADDONLY</Text>
</Comment>
</Comments>
<Total AmountBeforeTax="25.00" AmountAfterTax="30.00" CurrencyCode="EUR"/>
</ServiceDetails>
</Service>
</Services> |
We will adjust the TPA_Extensions according to the XSD:
- TPA_Extensions/Nationality will be shifted to HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / CitizienCountryName
- TPA_Extensions/Optinout : we are using ShareMarketInd attributes in PersonName, Telephone, Email, URL,...
- TPA_Extensions/CustomerPreferences will be shifted to HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / PrefCollections
- TPA_Extensions/RoomPreferences will be shifted to HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / PrefCollections
- TPA_Extensions/Salutation will be shifted to HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / TPA_Extensions / ProfileInfoExtensions / Salutation
- TPA_Extensions/Traces will be shifted to HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / TPA_Extensions / ProfileInfoExtensions / Traces
- TPA_Extensions/SearchName will be deleted with PWS version 3.1.x
Until release of PWS 3.1 (planned for Q1/2021) we will send the information in both places. Beginning with PWS 3.1 we will send the information in the new places ONLY!
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
OTA_ProfileCreateRQ | Profile | CompanyInfo | ContactPerson | PersonName | NamePrefix
OTA_ProfileModifyRQ | ProfileModify | CompanyInfo | ContactPerson | PersonName | NamePrefix
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_ProfileCreateRQ>
<Profile>
<CompanyInfo>
<CompanyName CompanyShortName="PROTEL Hotelsoftware GmbH" Department="">Protel</CompanyName>
<ContactPerson>
<PersonName>
<NamePrefix>Herr</NamePrefix>
<GivenName>Laureen</GivenName>
<Surname>Jacke</Surname>
</PersonName> |
Add the Attribute "NamePrefix" to the Element ContactPerson | PersonName
We will implemented the value from "NamePrefix" it doesn't matter if is configured in the System Data or not
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
OTA_ProfileCreateRQ | Profile | CompanyInfo | ContactPerson | PersonName | NamePrefix
OTA_ProfileModifyRQ | ProfileModify | CompanyInfo | ContactPerson | PersonName | NamePrefix
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_ProfileCreateRQ>
<Profile>
<CompanyInfo>
<CompanyName CompanyShortName="PROTEL Hotelsoftware GmbH" Department="">Protel</CompanyName>
<ContactPerson>
<PersonName>
<NamePrefix>Herr</NamePrefix>
<GivenName>Laureen</GivenName>
<Surname>Jacke</Surname>
</PersonName> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_HotelInvBlockNotifRQ>
<InvBlocks>
<InvBlock>
<BlockDescriptions>
<BlockDescription CreateDateTime="2017-09-03T00:00:00">
<Text TextFormat="HTML">1. Zeile<br/> 2. Zeile</Text>
</BlockDescription>
<BlockDescription Name="SourceOfBusiness">
<Text TextFormat="PlainText">Desk reservation</Text>
</BlockDescription>
</BlockDescriptions> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_HotelInvBlockNotifRQ>
<InvBlocks>
<InvBlock>
<BlockDescriptions>
<BlockDescription CreateDateTime="2020-08-12T00:00:00">
<Text TextFormat="PlainText">TestTest 333 </Text>
</BlockDescription>
</BlockDescriptions> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<?xml version='1.0' encoding='utf-8'?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Body>
<htng:HTNG_HotelCheckInNotifRQ xmlns:htng="http://htng.org/2014B" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:px="http://protel.io/htng/extensions" CorrelationID="PWS_2127_01" EchoToken="PWS_2127_01" Version="1" Timestamp="2020-07-23T14:58:16Z">
<POS>
<Source TerminalID="Ariane">
<RequestorID ID="3153" Type="10" ID_Context="protelIO"/>
<BookingChannel Type="4" Primary="true"/>
</Source>
</POS>
<htng:HotelReservations>
<HotelReservation>
<UniqueID ID="341562" ID_Context="protelIO" Type="14"/>
</HotelReservation>
</htng:HotelReservations>
</htng:HTNG_HotelCheckInNotifRQ>
</env:Body>
</env:Envelope> |
The value of the TerminalID will be stored in the Reservation History in OnPrem to display the name of integration partner as the system which checked-in the reservation.
In case of empty or null value for this attribute, the defauld value will be set in OnPrem as "external IO system" and a warning send back with RS like following:
Codeblock | ||
---|---|---|
| ||
<Warning ShortText="TerminalID empty or missing, using default value: external IO System." Code="321" Type="10">TerminalID empty or missing, using default value: external IO System.</Warning> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<RevenueDetails>
<RevenueDetail Description="Cola Posting" SubTypeID="Revenue" Amount="25.00" CurrencyCode="EUR" PMSRevenueCode="5010">
<ExtendedPrice Quantity="1" DecimalPlaces="2" AmountAfterTax="25.00"/>
<Account ID_Context="protelIO" Type="21" ID="8326"/>
</RevenueDetail>
<RevenueDetail Description="Visa Posting" SubTypeID="Payment" Amount="-25.00" CurrencyCode="EUR" PMSRevenueCode="1">
<ExtendedPrice Quantity="1" DecimalPlaces="2" AmountAfterTax="-25.00"/>
<Account ID_Context="protelIO" Type="21" ID="8326"/>
</RevenueDetail>
</RevenueDetails> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_HotelStayInfoNotifRQ>
<StayInfos>
<StayInfo>
<RevenueCategories>
<RevenueCategory>
<RevenueDetails>
<RevenueDetail>
<FolioIDs>
<FolioID>InvID|408616</FolioID>
<FolioID>ResID|2387956</FolioID>
<FolioID>GstID|5374993</FolioID>
<FolioID>TAAGrp|ROOMS</FolioID> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<IO_IdentifierRQ xmlns="http://protel.io/soap" EchoToken="A246B7B4-F4F3-4122-A91B-4265B61DC2D5" TimeStamp="2021-01-15T08:23:27Z" Version="4.000" CorrelationID="A246B7B4-F4F3-4122-A91B-4265B61DC2D5" IDType="GHA" PrimaryLangID="en"> |
Change the Version from "4" to "4.000"
Add the Attribute
PrimaryLangID="en"
Codeblock | ||||
---|---|---|---|---|
| ||||
...
<RoomRate RatePlanCode="SHARER" RatePlanCategory="HU" RatePlanID="75" RoomTypeCode="CBR" BookingCode="CST" RoomID="0215" NumberOfUnits="1">
... |
HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | UnitPrice | @CurrencyCode
HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | UnitPrice | Taxes | Tax | @CurrencyCode
HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | ExtendedPrice | @CurrencyCode
HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | ExtendedPrice | Taxes | Tax | @CurrencyCode
Codeblock | ||||
---|---|---|---|---|
| ||||
<RevenueDetail ReferenceID="1328" TransactionDate="2019-05-26" Description="Weihnachtsmenü Kind" PMSRevenueCode="207" CurrencyCode="EUR" Amount="25.00" SubTypeID="RevenueForecast" RevenueCategoryCode="3">
<FolioIDs xmlns="http://www.opentravel.org/OTA/2003/05">
<FolioID>33797-0</FolioID>
</FolioIDs>
<UnitPrice AmountBeforeTax="22.73" AmountAfterTax="25.00" CurrencyCode="EUR" Type="31">
<Taxes xmlns="http://www.opentravel.org/OTA/2003/05">
<Tax Type="Inclusive" Percent="10.00" Amount="2.27" CurrencyCode="EUR" />
</Taxes>
</UnitPrice>
<ExtendedPrice AmountBeforeTax="22.73" AmountAfterTax="25.00" CurrencyCode="EUR" Type="31" Quantity="1">
<Taxes xmlns="http://www.opentravel.org/OTA/2003/05">
<Tax Type="Inclusive" Percent="10.00" Amount="2.27" CurrencyCode="EUR" />
</Taxes>
</ExtendedPrice>
</RevenueDetail> |
Add the Attribute
- CurrencyCode
HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueSummary | GrossAmount | @CurrencyCode
HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueSummary | TaxItems | @CurrencyCodeHTNG_HotelFolioNotifRQ | Folios | Folio | RevenueSummary | BalanceDueAmount| @CurrencyCodeHTNG_HotelFolioNotifRQ | Folios | Folio | RevenueSummary | AmountReceived | @CurrencyCodeCodeblock | ||||
---|---|---|---|---|
| ||||
<HTNG_HotelFolioNotifRQ>
<Folios>
<Folio FolioID="33797-0" FolioType="Room" InvoiceID="0" GuestPayable="true">
<RevenueSummary>
<GrossAmount Amount="5582.00" CurrencyCode="EUR" xmlns="http://www.opentravel.org/OTA/2003/05" />
<TaxItems Amount="534.73" CurrencyCode="EUR" xmlns="http://www.opentravel.org/OTA/2003/05" />
<BalanceDueAmount Amount="0" CurrencyCode="EUR" xmlns="http://www.opentravel.org/OTA/2003/05" />
<AmountReceived Amount="0" CurrencyCode="EUR" xmlns="http://www.opentravel.org/OTA/2003/05" />
</RevenueSummary> |
Add the Attribute
- CurrencyCode
Codeblock | ||||
---|---|---|---|---|
| ||||
<HTNG_HotelFolioNotifRQ>
<Folios>
<Folio FolioID="33797-0" FolioType="Room" InvoiceID="0" GuestPayable="true">
<BasicPropertyInfo HotelCode="3236" HotelCodeContext="protelIO" HotelName="ART SKI - IN Hotel Hinterhag, A-5753 Saalbach" ChainCode="1" /> |
Add the Attribute
- HotelCodeContext="protelIO"
HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | UnitPrice | @Type
HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail |Codeblock | ||||
---|---|---|---|---|
| ||||
<RevenueDetail ReferenceID="1328" TransactionDate="2019-05-27" Description="Weihnachtsmenü Kind" PMSRevenueCode="207" CurrencyCode="EUR" Amount="25.00" SubTypeID="RevenueForecast" RevenueCategoryCode="3">
<FolioIDs xmlns="http://www.opentravel.org/OTA/2003/05">
<FolioID>33797-0</FolioID>
</FolioIDs>
<UnitPrice AmountBeforeTax="22.73" AmountAfterTax="25.00" CurrencyCode="EUR" Type="31">
<Taxes xmlns="http://www.opentravel.org/OTA/2003/05">
<Tax Type="Inclusive" Percent="10.00" Amount="2.27" />
</Taxes>
</UnitPrice>
<ExtendedPrice AmountBeforeTax="22.73" AmountAfterTax="25.00" CurrencyCode="EUR" Type="31" Quantity="1">
<Taxes xmlns="http://www.opentravel.org/OTA/2003/05">
<Tax Type="Inclusive" Percent="10.00" Amount="2.27" />
</Taxes>
</ExtendedPrice>
</RevenueDetail> |
Add the Attribute
- Type
Codeblock | ||||
---|---|---|---|---|
| ||||
<RevenueDetail ReferenceID="1328" TransactionDate="2019-05-27" Description="Weihnachtsmenü Kind" PMSRevenueCode="207" CurrencyCode="EUR" Amount="25.00" SubTypeID="RevenueForecast" RevenueCategoryCode="3">
<FolioIDs xmlns="http://www.opentravel.org/OTA/2003/05">
<FolioID>33797-0</FolioID>
</FolioIDs>
<UnitPrice AmountBeforeTax="22.73" AmountAfterTax="25.00" CurrencyCode="EUR" Type="31">
<Taxes xmlns="http://www.opentravel.org/OTA/2003/05">
<Tax Type="Inclusive" Percent="10.00" Amount="2.27" />
</Taxes>
</UnitPrice>
<ExtendedPrice AmountBeforeTax="22.73" AmountAfterTax="25.00" CurrencyCode="EUR" Type="31" Quantity="1">
<Taxes xmlns="http://www.opentravel.org/OTA/2003/05">
<Tax Type="Inclusive" Percent="10.00" Amount="2.27" />
</Taxes>
</ExtendedPrice>
</RevenueDetail> |
Remove the Attribute
- DecimalPlaces
Codeblock | ||||
---|---|---|---|---|
| ||||
<HTNG_HotelFolioNotifRQ EchoToken="cb364dd1-5d3b-4c1b-91d6-f8bf9f00e911" TimeStamp="2020-12-11T13:46:12Z" Version="1.002" CorrelationID="cb364dd1-5d3b-4c1b-91d6-f8bf9f00e911" PrimaryLangID="en" xmlns="http://htng.org/2014B"> |
Fix the Value of the following Attributes
- Version="1.002"
- PrimaryLangID="de"
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_HotelInvCountNotifRQ>
<UniqueID Type="10" ID="3236" ID_Context="protelIO" /> |
Add the UniqueID Element
- OTA_HotelInvCountNotifRQ | UniqueID | @ID="HotelID"
- OTA_HotelInvCountNotifRQ | UniqueID | @ID_Context="protelIO"
- OTA_HotelInvCountNotifRQ | UniqueID | @Type="10"
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_HotelInvCountNotifRQ EchoToken="10bf9470-b920-4dd9-9045-8f8ca8176d31" TimeStamp="2020-12-11T14:16:49Z" Version="2.000" CorrelationID="10bf9470-b920-4dd9-9045-8f8ca8176d31" PrimaryLangID="en" xmlns="http://www.opentravel.org/OTA/2003/05"> |
Fix the Value of the following Attributes
- Version="2.000"
- PrimaryLangID="de"
Codeblock | ||||
---|---|---|---|---|
| ||||
...
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="0EF52770-2E30-46FA-AAF5-499E5F5EB98F" TimeStamp="2020-12-09T14:27:17Z" Version="4.000" CorrelationID="0EF52770-2E30-46FA-AAF5-499E5F5EB98F" PrimaryLangID="en" MaxResponses="30">
... |
Fix the Value of the following Attributes
- Version="4.000"
- PrimaryLangID="en"
Codeblock | ||||
---|---|---|---|---|
| ||||
...
<StayInfos ChainCode="HC1" HotelCode="3153" HotelName="protel Front Office Demo, 44269 Dortmund" HotelCodeContext="protelIO">
... |
Add the Attribute
- HotelCodeContext="protelIO"
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_HotelStayInfoNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="36288982-2783-451b-8fa4-64a56981290f" TimeStamp="2020-12-09T13:41:07Z" Version="5.000" CorrelationID="36288982-2783-451b-8fa4-64a56981290f" PrimaryLangID="en">
... |
Fix the Value of the following Attributes
- Version="5.000"
- PrimaryLangID="en"
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_HotelStatsNotifRQ EchoToken="a242fdc2-3c4f-4baa-ab07-c3681078f8c4" TimeStamp="2020-12-09T11:12:59Z" Version="3.000" CorrelationID="a242fdc2-3c4f-4baa-ab07-c3681078f8c4" PrimaryLangID="en" xmlns="http://www.opentravel.org/OTA/2003/05">
<POS>
<Source>
<RequestorID Type="10" ID="3153" ID_Context="protelIO" />
<BookingChannel Type="4" Primary="true" />
<TPA_Extensions>
<px:POSExtensions xmlns:px="http://protel.io/htng/extensions">
<px:HotelInfo FiscalDate="2017-06-24" />
</px:POSExtensions>
</TPA_Extensions>
</Source>
</POS>
<UniqueID Type="10" ID="3153" ID_Context="protelIO" />
... |
Add the UniqueID Element
- OTA_HotelInvCountNotifRQ | UniqueID | @ID="HotelID"
- OTA_HotelInvCountNotifRQ | UniqueID | @ID_Context="protelIO"
- OTA_HotelInvCountNotifRQ | UniqueID | @Type="10"
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_HotelStatsNotifRQ EchoToken="a242fdc2-3c4f-4baa-ab07-c3681078f8c4" TimeStamp="2020-12-09T11:12:59Z" Version="3.000" CorrelationID="a242fdc2-3c4f-4baa-ab07-c3681078f8c4" PrimaryLangID="en" xmlns="http://www.opentravel.org/OTA/2003/05"> |
Fix the Value of the following Attributes
- Version="3.000"
- PrimaryLangID="de"
Codeblock | ||||
---|---|---|---|---|
| ||||
<Statistic ChainCode="HC1" HotelCode="3153" HotelName="protel Front Office Demo, 44269 Dortmund" FiscalDate="2017-06-23" ReportCode="HTNG_PastDailySegmentRoomTypeStatistics_v1"> |
Add the Attribute
- HotelName
IO_StatsNotifRQ | Statistics | Statistic | StatisticApplicationSets | RevenueCategorySummaries | RevenueCategorySummary | @RevenueCategoryCode
Codeblock | ||||
---|---|---|---|---|
| ||||
<StatisticApplicationSet End="2018-02-08" Start="2018-02-08">
<StatisticCodes/>
<RevenueCategorySummaries>
<RevenueCategorySummary Amount="104.20" CurrencyCode="EUR" RevenueCategoryCode="3"/>
<RevenueCategorySummary Amount="124.00" CurrencyCode="EUR" RevenueCategoryCode="123"/>
<RevenueCategorySummary Amount="0.00" CurrencyCode="EUR" RevenueCategoryCode="6"/>
<RevenueCategorySummary Amount="0.00" CurrencyCode="EUR" RevenueCategoryCode="126"/>
<RevenueCategorySummary Amount="10000.00" CurrencyCode="EUR" RevenueCategoryCode="9"/>
<RevenueCategorySummary Amount="10700.00" CurrencyCode="EUR" RevenueCategoryCode="129"/>
<RevenueCategorySummary Amount="10104.20" CurrencyCode="EUR" RevenueCategoryCode="17"/>
<RevenueCategorySummary Amount="10824.00" CurrencyCode="EUR" RevenueCategoryCode="1217"/>
</RevenueCategorySummaries>
</StatisticApplicationSet> |
Extend the IO_StatsNotifRQ, add the @RevenueCategoryCode
- 123 = Food & Beverage (gross)
- 126 = Other Revenue (gross)
- 129 = Room Revenue (gross)
- 1217 = Total Revenue (gross)
Codeblock | ||||
---|---|---|---|---|
| ||||
<?xml version='1.0' encoding='utf-8'?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Body>
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" CorrelationID="2602_PWS-2188_6" Version="0" EchoToken="PWS-2188_6" MaxResponses="10">
<POS>
<Source>
<RequestorID ID="2602" Type="10" ID_Context="protelIO"/>
</Source>
</POS>
<ReadRequests>
<ProfileReadRequest ProfileTypeCode="3">
<Company>
<CompanyName>protel</CompanyName>
<Address>
<AddressLine>Europaplatz 8</AddressLine>
<CityName>Dortmund</CityName>
<PostalCode>44236</PostalCode>
<CountryName Code="DE">Deutschland</CountryName>
</Address>
</Company>
</ProfileReadRequest>
</ReadRequests>
</OTA_ReadRQ>
</env:Body>
</env:Envelope> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<TPA_Extensions>
<px:ReservationExtensions>
<px:ReservationStatus Code="Bez" ID="17" ID_Context="protelIO" Name="Bezahlt" RPH="17245"/>
<px:ReservationCode Code="WWW" ID="46" ID_Context="protelIO" Language="de_DE" Name="Internet" RPH="17245" Type="CommunicationChannel"/>
<px:ReservationCode Code="Urlaub" ID="177" ID_Context="protelIO" Language="de_DE" Name="Urlaub" RPH="17245" Type="TravelReason"/>
<px:FixedCharges>
<px:FixedCharge Code="Obstkorb" From="2017-07-22" Quantity="1" Recurrence="OnArrival" To="2017-07-27">
<px:UniqueID ID="5" ID_Context="protelIO" Type="16"/>
<px:Item Code="1021" ItemID="79"/>
<px:Price CurrencyCode="EUR" SingleAmountAfterTax="12.50"/>
<px:InvoiceText>Obstkorb</px:InvoiceText>
</px:FixedCharge>
<px:FixedCharge Code="Flasche Wein" From="2017-07-22" Quantity="1" Recurrence="Fixed" To="2017-07-27">
<px:UniqueID ID="6" ID_Context="protelIO" Type="16"/>
<px:Item Code="1023" ItemID="83"/>
<px:Price CurrencyCode="EUR" SingleAmountAfterTax="29.00"/>
<px:InvoiceText>Flasche Wein</px:InvoiceText>
</px:FixedCharge>
</px:FixedCharges>
</px:ReservationExtensions>
</TPA_Extensions> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<ns2:ItemRoutingTemplates>
<ns2:ItemRoutingTemplate Code="RI_Template">
<ns2:Name Language="de_DE">Gesamte Reservierung</ns2:Name>
<ns2:Description Language="de_DE">{"and":[{"item":[4,112]}]}</ns2:Description>
</ns2:ItemRoutingTemplate>
</ns2:ItemRoutingTemplates> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<ns2:TransactionAccounts>
<ns2:TransactionAccount Code="1000" CurrencyCode="EUR" ID="1" ID_Context="protelIO" RevenueCategoryCode="6" Visible="true">
<ns2:Name Language="de_DE">Speisen</ns2:Name>
<ns2:Description Language="de_DE">RR</ns2:Description>
<ns2:Items>
<ns2:Item AmountAfterTax="9.000000000" Code="1020" CurrencyCode="EUR" Group="SP" ID="77" ID_Context="protelIO" RevenueCategoryCode="3" StatisticsCode="FoodAndBeverage" TaxCode="10%" TaxPercentage="10" Visible="true">
<ns2:Name Language="de_DE">Frühstück</ns2:Name>
</ns2:Item>
<ns2:Item AmountAfterTax="9.000000000" Code="1036" CurrencyCode="EUR" Group="SP" ID="109" ID_Context="protelIO" RevenueCategoryCode="3" StatisticsCode="FoodAndBeverage" TaxCode="10%" TaxPercentage="10" Visible="true">
<ns2:Name Language="de_DE">Breakfast-Package</ns2:Name>
</ns2:Item>
<ns2:Item AmountAfterTax="7.500000000" Code="1021" CurrencyCode="EUR" Group="SP" ID="79" ID_Context="protelIO" RevenueCategoryCode="6" StatisticsCode="Extras" TaxCode="10%" TaxPercentage="10" Visible="true">
<ns2:Name Language="de_DE">Obstkorb</ns2:Name>
</ns2:Item>
<ns2:Item AmountAfterTax="9.000000000" Code="1022" CurrencyCode="EUR" Group="SP" ID="81" ID_Context="protelIO" RevenueCategoryCode="3" StatisticsCode="FoodAndBeverage" TaxCode="10%" TaxPercentage="10" Visible="true">
<ns2:Name Language="de_DE">Lunchpaket</ns2:Name>
</ns2:Item>
<ns2:Item AmountAfterTax="0.000000000" Code="1024" CurrencyCode="EUR" Group="SP" ID="85" ID_Context="protelIO" RevenueCategoryCode="3" StatisticsCode="FoodAndBeverage" TaxCode="10%" TaxPercentage="10" Visible="true">
<ns2:Name Language="de_DE">Buffet</ns2:Name>
</ns2:Item>
<ns2:Item AmountAfterTax="5.000000000" Code="1027" CurrencyCode="EUR" Group="SP" ID="90" ID_Context="protelIO" RevenueCategoryCode="3" StatisticsCode="FoodAndBeverage" TaxCode="10%" TaxPercentage="10" Visible="true">
<ns2:Name Language="de_DE">Frühstück Kind <5 Yrs</ns2:Name>
</ns2:Item>
</ns2:Items>
</ns2:TransactionAccount>
</ns2:TransactionAccounts> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<ns2:AgeGroups>
<ns2:AgeGroup Code="10" ID="-1" ID_Context="protelIO" Visible="true">
<ns2:Description Language="de_DE"> (0-0) Adult</ns2:Description>
</ns2:AgeGroup>
<ns2:AgeGroup Code="8" ID="1" ID_Context="protelIO" Visible="true">
<ns2:Name Language="de_DE">Kinder</ns2:Name>
<ns2:Description Language="de_DE">Kinder (0-14) Child</ns2:Description>
</ns2:AgeGroup>
</ns2:AgeGroups> |
Adding the following attributes / elements:
- attribute RevenueCategoryCode to Item element
- element FiscalCodes to Accounting element
- element ItemRoutingTemplates to Accounting element
- element AgeGroups to Rates element
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:IO_SystemDataRQ xmlns:p="http://protel.io/soap" TimeStamp="2020-08-20T07:15:51.4023488Z" Version="1.000" CorrelationID="IPA-766" EchoToken="IPA-766">
<p:Request xmlns:p="http://protel.io/soap">
<UniqueID Type="10" ID="2575" ID_Context="protelIO"/>
<p:Accounting/>
<p:Rooms/>
<p:Reservations/>
<p:Rates/>
<p:Tasks/>
<p:Loyalty/>
<p:Profiles/>
<p:Events/>
</p:Request>
</p:IO_SystemDataRQ> |
Added the possibility to request only specific parts of the message. Within the Request element you can send the following elements to request them in the IO_SystemDataRS message:
- element Accounting
- element Rooms
- element Reservations
- element Rates
- element Tasks
- element Profiles
- element Loyalty
- element Events
Stop sending reservations of other multi-property hotels during EOD.
Codeblock | ||||
---|---|---|---|---|
| ||||
<?xml version='1.0' encoding='utf-8'?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header>
<p:Action xmlns:p="http://protel.io/soap">IO_SysAdministrationCompleteNotifRQ</p:Action>
<p:CorrelationID xmlns:p="http://protel.io/soap">STATUS#2100114#ENDOFDAY#000098#1610449341514#7FA1</p:CorrelationID>
<p:Source xmlns:p="http://protel.io/soap" Module="backline" ModuleVersion="2021-01-12T08:33:01 (QA)" Product="protelAir" ProductVersion="2102.0.61296-RC" Service="io.protel.air"/>
</env:Header>
<env:Body>
<p:IO_SysAdministrationCompleteNotifRQ xmlns:p="http://protel.io/soap" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:htng="http://htng.org/2014B" CorrelationID="STATUS#2100114#ENDOFDAY#000098#1610449341514#7FA1" TimeStamp="2021-01-12T11:02:21Z" Version="1.0">
<p:Changes ChainCode="n/a" HotelCode="2792" HotelID="2100114" HotelName="protel_IO_Testhotel_pAir_2100114">
<p:Change>
<p:Name>currentBookingDate</p:Name>
<p:Value>2021-01-05T00:00:00+01:00</p:Value>
</p:Change>
</p:Changes>
</p:IO_SysAdministrationCompleteNotifRQ>
</env:Body>
</env:Envelope> |
The behaviour will be changed to
- @ReturnListIndicator="true" then all the search filters will be applied as "like" search criteria (wildcard search).
- @ReturnListIndicator="false" then all search criterias are checked (strict search)
- @ReturnListIndicator is missing then all search criterias are checked (strict search)
- an error element in case no profiles could be found (strict search)
- success plus warning element in case profiles only found when ignoring certain search criterias
Codeblock | ||||
---|---|---|---|---|
| ||||
<?xml version='1.0' encoding='utf-8'?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Body>
<htng:HTNG_HotelCheckInNotifRQ xmlns:htng="http://htng.org/2014B" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:px="http://protel.io/htng/extensions" CorrelationID="IPA_755_18" EchoToken="IPA_755_18" Version="1" Timestamp="2020-07-23T14:58:16Z">
<POS>
<Source>
<RequestorID ID="2787" Type="10" ID_Context="protelIO"/>
<BookingChannel Type="4" Primary="true"/>
</Source>
</POS>
<htng:Room RoomID=""/>
<htng:HotelReservations>
<HotelReservation>
<UniqueID ID="1740" ID_Context="protelIO" Type="14"/>
</HotelReservation>
</htng:HotelReservations>
</htng:HTNG_HotelCheckInNotifRQ>
</env:Body>
</env:Envelope> |
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_ProfileModifyRQ>
<UniqueID ID="3846" ID_Context="protelIO" Type="1"/>
<UniqueID ID="2983" ID_Context="protelIO" Type="10"/>
<ProfileModify CreateDateTime="2020-09-18T09:55:44Z" CreatorID="lj" LastModifierID="lj" LastModifyDateTime="2020-12-11T15:59:35Z" ProfileType="1" RPH="3846" ShareAllOptOutInd="Yes" StatusCode="4">
<Customer BirthDate="1989-08-12" Gender="Unknown" Language="de">
<PersonName>
<NamePrefix>Familie</NamePrefix>
<GivenName>Test</GivenName>
<Surname>Test</Surname>
</PersonName>
<Telephone DefaultInd="true" FormattedInd="false" PhoneNumber="0231-915930" PhoneTechType="1"/>
<Email DefaultInd="true" EmailType="1">test@protel.net</Email>
<Address DefaultInd="true" FormattedInd="false" Type="1">
<AddressLine>Europaplatz 8</AddressLine>
<CityName>Dortmund</CityName>
<PostalCode>44269</PostalCode>
<StateProv StateCode="NW">Nordrhein-Westfalen</StateProv>
<CountryName Code="DE">Deutschland</CountryName>
</Address> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Body>
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" CorrelationID="2602_PWS-2188_6" Version="0" EchoToken="PWS-2188_6" MaxResponses="10">
<POS>
<Source>
<RequestorID ID="2602" Type="10" ID_Context="protelIO"/>
</Source>
</POS>
<ReadRequests>
<ProfileReadRequest ProfileTypeCode="3">
<Company>
<CompanyName>protel</CompanyName>
<Address>
<AddressLine>Europaplatz 8</AddressLine>
<CityName>Dortmund</CityName>
<PostalCode>44236</PostalCode>
</Address>
</Company>
</ProfileReadRequest>
</ReadRequests>
</OTA_ReadRQ>
</env:Body>
</env:Envelope> |
Extend the Profile LookUp for Company/TA/Source/Group Profiles
- Profile Search by CompanyName & ZIP
- Profile Search by CompanyName & City
- Profile Search by CompanyName & Country
OTA_ReadRQ
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" CorrelationID="2986_IO_CorrId_22_129" ReturnListIndicator="true">
<POS>
<Source>
<RequestorID ID="2986" Type="10" ID_Context="protelIO"/>
</Source>
</POS> |
If the Attribute @ReturnListIndicator is set to FALSE then all the search filters will be applied as "like" search criteria.
If the Attribute @ReturnListIndicator is set to TRUE then all search criteria are checked
If the Attribute @ReturnListIndicator is missing then all search criteria are checked
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_HotelResNotifRQ>
<HotelReservations>
<HotelReservation CreateDateTime="2020-11-26T10:45:07+01:00" CreatorID="laureen.jacke@protel.net" LastModifierID="lj" LastModifyDateTime="2020-11-30T10:59:10+01:00" ResStatus="Reserved">
<UniqueID ID="3814" ID_Context="protelIO" Type="14"/>
<RoomStays>
<RoomStay MarketCode="DU" SourceOfBusiness="Fa">
<RatePlans>
<RatePlan EffectiveDate="2020-09-22" ExpireDate="2020-09-23" MarketCode="DU" PriceViewableInd="true" RatePlanCode="STA1" RatePlanID="5">
<Guarantee GuaranteeCode="GAR">
<GuaranteeDescription Name="Name">
<Text TextFormat="PlainText">Garantiert</Text>
</GuaranteeDescription>
</Guarantee>
<CancelPenalties>
<CancelPenalty PolicyCode="STD">
<PenaltyDescription Name="Name">
<Text TextFormat="PlainText">Standard</Text>
</PenaltyDescription>
<PenaltyDescription Name="Description">
<Text TextFormat="PlainText">Bis zu 2 Tage vor der Anreise können Sie kostenfrei stornieren. Sie zahlen im Falle einer Stornierung in den 2 Tagen vor der Anreise einen Betrag in Höhe des Gesamtpreises. Keine Vorauszahlung erforderlich.</Text>
</PenaltyDescription>
</CancelPenalty>
</CancelPenalties>
<RatePlanInclusions TaxInclusive="true"/>
</RatePlan>
<RatePlan EffectiveDate="2020-09-23" ExpireDate="2020-09-24" MarketCode="Individual" PriceViewableInd="true" RatePlanCode="Laureen" RatePlanID="253">
<CancelPenalties/>
<RatePlanInclusions TaxInclusive="true"/>
</RatePlan>
<RatePlan EffectiveDate="2020-09-24" ExpireDate="2020-09-25" MarketCode="DU" PriceViewableInd="true" RatePlanCode="STA1" RatePlanID="5">
<Guarantee GuaranteeCode="GAR">
<GuaranteeDescription Name="Name">
<Text TextFormat="PlainText">Garantiert</Text>
</GuaranteeDescription>
</Guarantee>
<CancelPenalties>
<CancelPenalty PolicyCode="STD">
<PenaltyDescription Name="Name">
<Text TextFormat="PlainText">Standard</Text>
</PenaltyDescription>
<PenaltyDescription Name="Description">
<Text TextFormat="PlainText">Bis zu 2 Tage vor der Anreise können Sie kostenfrei stornieren. Sie zahlen im Falle einer Stornierung in den 2 Tagen vor der Anreise einen Betrag in Höhe des Gesamtpreises. Keine Vorauszahlung erforderlich.</Text>
</PenaltyDescription>
</CancelPenalty>
</CancelPenalties>
<RatePlanInclusions TaxInclusive="true"/>
</RatePlan> |
HTNG_HotelFolioNotifRQ
HTNG_FolioNotifRS
Outbound
Inbound
HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | SubTypeID="Batch"/"BatchForecast" | UnitPrice | Taxes
HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetails | RevenueDetail | SubTypeID="Batch"/"BatchForecast" | ExtendedPrice | Taxes
Codeblock | ||||
---|---|---|---|---|
| ||||
<htng:RevenueDetails>
<htng:RevenueDetail Amount="61.20" CurrencyCode="EUR" Description="Logis" ReferenceID="0" SubTypeID="Batch" TransactionDate="2020-09-18">
<FolioIDs>
<FolioID>393927</FolioID>
</FolioIDs>
<htng:UnitPrice AmountAfterTax="61.20" AmountBeforeTax="0.00" CurrencyCode="EUR" Type="31"/>
<htng:ExtendedPrice AmountAfterTax="61.20" AmountBeforeTax="0.00" CurrencyCode="EUR" Quantity="1" Type="31"/> |
For the SubType ="Batch"/"BatchForecast" will the Elements
- UnitPrice | Taxes
- ExtendedPrice | Taxes
will no longer be part of the message, because it is not possible to calculate it correctly
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_HotelAvailNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:p="http://protel.io/soap" xmlns:px="http://protel.io/htng/extensions" xmlns:ns5="http://www.w3.org/2011/03/ws-evt" xmlns:htng="http://htng.org/2014B" xmlns:ns4="http://www.w3.org/2005/08/addressing" CorrelationID="IPA-734-01" EchoToken="IPA-734-01" TimeStamp="2020-11-20T14:17:13Z" Version="2.000">
<Success/>
<Warnings>
<Warning Code="320" ShortText="RateGroups not found by RatePlanCategory code BAR2" Type="12">RateGroups not found by RatePlanCategory code BAR2</Warning>
<Warning Code="450" ShortText="No matches for 2 AvailStatusMessage elements" Type="13">0</Warning>
</Warnings>
<UniqueID ID="2585" ID_Context="protelIO" Type="10"/>
</OTA_HotelAvailNotifRS> |
OTA_HotelResNotifRQ
IO_StatsNotifRQ
HTNG_HotelFolioNotifRQ
OTA_StayInfoNotifRQ
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | RoomStays | RoomStay | RoomRates | RoomRate | Rates | Rate | TPA_Extensions | RateAmountExtensions | RateAmount | @RevenueCategoryCode
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | RoomStays | TPA_Extensions | RateAmountExtensions | RateAmount | @RevenueCategoryCode
IO_StatsNotifRQ | Statistics | Statistic | StatisticApplicationSets | StatisticApplicationSet | RevenueCategorySummaries | RevenueCategorySummary | @RevenueCategoryCode
HTNG_HotelFolioNotifRQ | Folios | Folio | RevenueDetail | @RevenueCategoryCode
OTA_HotelStayInfoNotifRQ | StayInfos | StayInfo | RevenueCategories | RevenueCategory | @RevenueCategoryCode
Codeblock | ||||
---|---|---|---|---|
| ||||
<StatisticApplicationSet Start="2020-09-17" End="2020-09-17">
<RevenueCategorySummaries>
<RevenueCategorySummary RevenueCategoryCode="3" Amount="0.00" CurrencyCode="EUR"/>
<RevenueCategorySummary RevenueCategoryCode="123" Amount="0.00" CurrencyCode="EUR"/>
<RevenueCategorySummary RevenueCategoryCode="6" Amount="0.00" CurrencyCode="EUR"/>
<RevenueCategorySummary RevenueCategoryCode="126" Amount="0.00" CurrencyCode="EUR"/>
<RevenueCategorySummary RevenueCategoryCode="9" Amount="361.72" CurrencyCode="EUR"/>
<RevenueCategorySummary RevenueCategoryCode="129" Amount="379.81" CurrencyCode="EUR"/>
<RevenueCategorySummary RevenueCategoryCode="0" Amount="18.09" CurrencyCode="EUR"/>
<RevenueCategorySummary RevenueCategoryCode="120" Amount="18.99" CurrencyCode="EUR"/>
<RevenueCategorySummary RevenueCategoryCode="17" Amount="379.81" CurrencyCode="EUR"/>
<RevenueCategorySummary RevenueCategoryCode="1217" Amount="398.80" CurrencyCode="EUR"/>
</RevenueCategorySummaries>
</StatisticApplicationSet> |
OTA_HotelResNotifRQ>ResStatus="Modify"
and
OTA_HotelResNotifRQ / HotelReservations / HotelReservation >ResStatus="Reserved"
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:IO_ResModifyNotifRQ xmlns:p="http://protel.io/soap" CorrelationID="IPA-721-SR6" TimeStamp="2020-05-18T14:00:00.000Z" Version="1.00">
<p:Reservations HotelCode="2575">
<p:Reservation>
<p:UniqueID Type="14" ID="17569" ID_Context="protelIO"/>
<p:InvoiceItemRoutings>
<p:InvoiceItemRouting Action="CREATE" Name="RI_Template" Type="InvoiceRoutingTemplate" ID="" ID_Context="protelIO"/>
</p:InvoiceItemRoutings>
</p:Reservation>
</p:Reservations>
</p:IO_ResModifyNotifRQ> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<RoomRate BookingCode="JST" RoomTypeCode="JST" NumberOfUnits="1" RoomID="10-2L" EffectiveDate="2020-08-09" ExpireDate="2020-08-10" RatePlanCode="Alireza" RatePlanID="28" RatePlanCategory="FLEX">
<Rates>
<Rate RateTimeUnit="Day" UnitMultiplier="1" AlternateCurrencyInd="false" EffectiveDate="2020-08-09" ExpireDate="2020-08-10">
<Base AmountBeforeTax="90.91" AmountAfterTax="100.00" CurrencyCode="EUR"/>
<Total AmountBeforeTax="90.91" AmountAfterTax="100.00" CurrencyCode="EUR"/>
<TPA_Extensions>
<px:RateAmountExtensions AlternateCurrencyInd="false" End="2020-08-09" Start="2020-08-09">
<px:RateAmount AmountAfterTax="100.00" AmountBeforeTax="90.91" CurrencyCode="EUR" RevenueCategoryCode="17"/>
<px:RateAmount AmountAfterTax="100.00" AmountBeforeTax="90.91" CurrencyCode="EUR" RevenueCategoryCode="9"/>
</px:RateAmountExtensions>
<px:FixedChargesAmountsExtensions AlternateCurrencyInd="false" End="2020-08-09" Start="2020-08-09">
<px:RateAmount AmountAfterTax="100.00" AmountBeforeTax="90.91" CurrencyCode="EUR" RevenueCategoryCode="17"/>
<px:RateAmount AmountAfterTax="100.00" AmountBeforeTax="90.91" CurrencyCode="EUR" RevenueCategoryCode="9"/>
</px:FixedChargesAmountsExtensions>
</TPA_Extensions>
</Rate>
</Rates>
<RoomRateDescription Name="MarketCode">
<Text TextFormat="PlainText">COU</Text>
</RoomRateDescription>
<RoomRateDescription Name="SourceOfBusiness">
<Text TextFormat="PlainText">WEB</Text>
</RoomRateDescription>
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1"/>
</GuestCounts>
</RoomRate> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:ReservationExtensions>
<px:ReservationStatus Code="Conf" ID="1" ID_Context="protelIO" Name="FIX- inkl.ANZA" RPH="33523"/>
</px:ReservationExtensions>
</TPA_Extensions> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:ReservationExtensions>
<px:ReservationStatus Code="Conf" ID="1" ID_Context="protelIO" Name="FIX- inkl.ANZA" RPH="33523"/>
</px:ReservationExtensions>
</TPA_Extensions> |
HTNG_HotelFolioRS
HTNG_HotelFolioRS | Folios | Folio | RevenueDetails | RevenueDetail
Codeblock | ||||
---|---|---|---|---|
| ||||
<htng:RevenueDetails>
<htng:RevenueDetail SubTypeID="Revenue" RevenueCategoryCode="9" ReferenceID="66" TransactionDate="2019-10-10" Description="City Tax" PMSRevenueCode="3405" Amount="2.50" CurrencyCode="CHF">
<FolioIDs>
<FolioID>468056</FolioID>
</FolioIDs>
<htng:UnitPrice AmountBeforeTax="2.41" AmountAfterTax="2.50" Type="31" CurrencyCode="CHF">
<Taxes CurrencyCode="CHF">
<Tax Type="Inclusive" Percent="3.70" Amount="0.09" CurrencyCode="CHF"/>
</Taxes>
</htng:UnitPrice>
<htng:ExtendedPrice Quantity="1" AmountBeforeTax="2.41" AmountAfterTax="2.50" Type="31" CurrencyCode="CHF">
<Taxes CurrencyCode="CHF">
<Tax Type="Inclusive" Percent="3.70" Amount="0.09" CurrencyCode="CHF"/>
</Taxes>
</htng:ExtendedPrice>
<htng:Account Type="14" ID_Context="protelIO" ID="15702"/>
</htng:RevenueDetail> |
The Attribute @Percent is not long rounded up
Codeblock | ||||
---|---|---|---|---|
| ||||
<htng:HTNG_HotelCheckOutNotifRS xmlns:htng="http://htng.org/2014B" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:p="http://protel.io/soap" xmlns:px="http://protel.io/htng/extensions" xmlns:ns5="http://www.w3.org/2011/03/ws-evt" xmlns:ns4="http://www.w3.org/2005/08/addressing" CorrelationID="Test_BRA_779" PrimaryLangID="de" TimeStamp="2020-11-06T09:42:30Z" Version="1">
<htng:Success/>
<TPA_Extensions>
<px:DocumentExtensions>
<px:DocumentData ID="5896" ID_Context="protelIO" Type="Invoice">j4KPDM2RDY5MEEyNjZCQzNBOEI1MTNFQkMxMjQ0NEZDRUU2Pg==</px:DocumentData>
</px:DocumentExtensions>
</TPA_Extensions>
</htng:HTNG_HotelCheckOutNotifRS> |
Added the Element px:DocumentData → needs to be decoded by the Integration with the help of base64.
Codeblock | ||||
---|---|---|---|---|
| ||||
<Errors>
<Error Code="446" RecordID="IPA-698-SR1" ShortText="Could not modify Reservation ID 17414, null" Type="12">CHECKED_OUT_DEPARTURE_DATE_CHANGE</Error>
</Errors> |
IO_SystemDataRS
Outbound
IO_SystemDataRS
HTNG_HotelFolioRS
HTNG_HotelFolioRS | Folios | Folio | RevenueDetails | RevenueDetail
Codeblock | ||||
---|---|---|---|---|
| ||||
<ns2:RevenueDetails>
<ns2:RevenueDetail Amount="26.00" CurrencyCode="CHF" Description="Alkohol" ReferenceID="0" SubTypeID="Batch" TransactionDate="2020-10-22">
<ns4:FolioIDs>
<ns4:FolioID>606568</ns4:FolioID>
</ns4:FolioIDs>
<ns2:UnitPrice AmountAfterTax="26.00" AmountBeforeTax="24.14" CurrencyCode="CHF" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="1.86" CurrencyCode="CHF" Percent="8.00" Type="Inclusive"/>
</ns4:Taxes>
</ns2:UnitPrice>
<ns2:ExtendedPrice AmountAfterTax="26.00" AmountBeforeTax="24.14" CurrencyCode="CHF" Quantity="1" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="1.86" CurrencyCode="CHF" Percent="8.00" Type="Inclusive"/>
</ns4:Taxes>
</ns2:ExtendedPrice>
<ns2:RevenueDetailItems>
<ns2:RevenueDetailItem Amount="11.00" CurrencyCode="CHF" Description="Wine" GuestViewable="false" PMSRevenueCode="3010" ReferenceID="44" RevenueCategoryCode="3" TransactionDate="2020-10-27">
<ns4:FolioIDs>
<ns4:FolioID>606565</ns4:FolioID>
</ns4:FolioIDs>
<ns2:UnitPrice AmountAfterTax="11.00" AmountBeforeTax="10.21" CurrencyCode="CHF" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="0.79" CurrencyCode="CHF" Percent="8.00" Type="Inclusive"/>
</ns4:Taxes>
</ns2:UnitPrice>
<ns2:ExtendedPrice AmountAfterTax="11.00" AmountBeforeTax="10.21" CurrencyCode="CHF" Quantity="1" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="0.79" CurrencyCode="CHF" Percent="8.00" Type="Inclusive"/>
</ns4:Taxes>
</ns2:ExtendedPrice>
</ns2:RevenueDetailItem>
<ns2:RevenueDetailItem Amount="15.00" CurrencyCode="CHF" Description="Beer" GuestViewable="false" PMSRevenueCode="3020" ReferenceID="45" RevenueCategoryCode="3" TransactionDate="2020-10-27">
<ns4:FolioIDs>
<ns4:FolioID>606566</ns4:FolioID>
</ns4:FolioIDs>
<ns2:UnitPrice AmountAfterTax="15.00" AmountBeforeTax="13.93" CurrencyCode="CHF" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="1.07" CurrencyCode="CHF" Percent="8.00" Type="Inclusive"/>
</ns4:Taxes>
</ns2:UnitPrice>
<ns2:ExtendedPrice AmountAfterTax="15.00" AmountBeforeTax="13.93" CurrencyCode="CHF" Quantity="1" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="1.07" CurrencyCode="CHF" Percent="8.00" Type="Inclusive"/>
</ns4:Taxes>
</ns2:ExtendedPrice>
</ns2:RevenueDetailItem>
</ns2:RevenueDetailItems>
<ns2:Account ID="19551" ID_Context="protelIO" Type="14"/>
</ns2:RevenueDetail>
<ns2:RevenueDetail Amount="2.50" CurrencyCode="CHF" Description="City Tax" PMSRevenueCode="3405" ReferenceID="66" RevenueCategoryCode="9" SubTypeID="RevenueForecast" TransactionDate="2020-10-27">
<ns4:FolioIDs>
<ns4:FolioID>606561</ns4:FolioID>
</ns4:FolioIDs>
<ns2:UnitPrice AmountAfterTax="2.50" AmountBeforeTax="2.41" CurrencyCode="CHF" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="0.09" CurrencyCode="CHF" Percent="4.00" Type="Inclusive"/>
</ns4:Taxes>
</ns2:UnitPrice>
<ns2:ExtendedPrice AmountAfterTax="2.50" AmountBeforeTax="2.41" CurrencyCode="CHF" Quantity="1" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="0.09" CurrencyCode="CHF" Percent="4.00" Type="Inclusive"/>
</ns4:Taxes>
</ns2:ExtendedPrice>
<ns2:Account ID="19551" ID_Context="protelIO" Type="14"/>
</ns2:RevenueDetail>
<ns2:RevenueDetail Amount="0.00" CurrencyCode="CHF" Description="Accommodation incl. breakfast" ReferenceID="0" SubTypeID="BatchForecast" TransactionDate="2020-10-27">
<ns4:FolioIDs>
<ns4:FolioID>606564</ns4:FolioID>
</ns4:FolioIDs>
<ns2:UnitPrice AmountAfterTax="0.00" AmountBeforeTax="0.00" CurrencyCode="CHF" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="0.00" CurrencyCode="CHF" Percent="0" Type="Inclusive"/>
</ns4:Taxes>
</ns2:UnitPrice>
<ns2:ExtendedPrice AmountAfterTax="0.00" AmountBeforeTax="0.00" CurrencyCode="CHF" Quantity="1" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="0.00" CurrencyCode="CHF" Percent="0" Type="Inclusive"/>
</ns4:Taxes>
</ns2:ExtendedPrice>
<ns2:RevenueDetailItems>
<ns2:RevenueDetailItem Amount="0.00" CurrencyCode="CHF" Description="Accommodation" GuestViewable="false" PMSRevenueCode="3400" ReferenceID="26" RevenueCategoryCode="9" TransactionDate="2020-10-27">
<ns4:FolioIDs>
<ns4:FolioID>606560</ns4:FolioID>
</ns4:FolioIDs>
<ns2:UnitPrice AmountAfterTax="0.00" AmountBeforeTax="0.00" CurrencyCode="CHF" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="0.00" CurrencyCode="CHF" Percent="0" Type="Inclusive"/>
</ns4:Taxes>
</ns2:UnitPrice>
<ns2:ExtendedPrice AmountAfterTax="0.00" AmountBeforeTax="0.00" CurrencyCode="CHF" Quantity="1" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="0.00" CurrencyCode="CHF" Percent="0" Type="Inclusive"/>
</ns4:Taxes>
</ns2:ExtendedPrice>
</ns2:RevenueDetailItem>
<ns2:RevenueDetailItem Amount="22.00" CurrencyCode="CHF" Description="Breakfast" GuestViewable="false" PMSRevenueCode="3070" ReferenceID="50" RevenueCategoryCode="3" TransactionDate="2020-10-27">
<ns4:FolioIDs>
<ns4:FolioID>606562</ns4:FolioID>
</ns4:FolioIDs>
<ns2:UnitPrice AmountAfterTax="22.00" AmountBeforeTax="21.22" CurrencyCode="CHF" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="0.78" CurrencyCode="CHF" Percent="4.00" Type="Inclusive"/>
</ns4:Taxes>
</ns2:UnitPrice>
<ns2:ExtendedPrice AmountAfterTax="22.00" AmountBeforeTax="21.22" CurrencyCode="CHF" Quantity="1" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="0.78" CurrencyCode="CHF" Percent="4.00" Type="Inclusive"/>
</ns4:Taxes>
</ns2:ExtendedPrice>
</ns2:RevenueDetailItem>
<ns2:RevenueDetailItem Amount="-22.00" CurrencyCode="CHF" Description="Accommodation" GuestViewable="false" PMSRevenueCode="3400" ReferenceID="26" RevenueCategoryCode="9" TransactionDate="2020-10-27">
<ns4:FolioIDs>
<ns4:FolioID>606563</ns4:FolioID>
</ns4:FolioIDs>
<ns2:UnitPrice AmountAfterTax="-22.00" AmountBeforeTax="-21.22" CurrencyCode="CHF" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="-0.78" CurrencyCode="CHF" Percent="4.00" Type="Inclusive"/>
</ns4:Taxes>
</ns2:UnitPrice>
<ns2:ExtendedPrice AmountAfterTax="-22.00" AmountBeforeTax="-21.22" CurrencyCode="CHF" Quantity="1" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="-0.78" CurrencyCode="CHF" Percent="4.00" Type="Inclusive"/>
</ns4:Taxes>
</ns2:ExtendedPrice>
</ns2:RevenueDetailItem>
</ns2:RevenueDetailItems>
<ns2:Account ID="19551" ID_Context="protelIO" Type="14"/>
</ns2:RevenueDetail>
<ns2:RevenueDetail Amount="4.00" CurrencyCode="CHF" Description="Chips" PMSRevenueCode="3090" ReferenceID="94" RevenueCategoryCode="3" SubTypeID="RevenueForecast" TransactionDate="2020-10-27">
<ns4:FolioIDs>
<ns4:FolioID>606567</ns4:FolioID>
</ns4:FolioIDs>
<ns2:UnitPrice AmountAfterTax="4.00" AmountBeforeTax="3.71" CurrencyCode="CHF" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="0.29" CurrencyCode="CHF" Percent="8.00" Type="Inclusive"/>
</ns4:Taxes>
</ns2:UnitPrice>
<ns2:ExtendedPrice AmountAfterTax="4.00" AmountBeforeTax="3.71" CurrencyCode="CHF" Quantity="1" Type="31">
<ns4:Taxes CurrencyCode="CHF">
<ns4:Tax Amount="0.29" CurrencyCode="CHF" Percent="8.00" Type="Inclusive"/>
</ns4:Taxes>
</ns2:ExtendedPrice>
<ns2:Account ID="19551" ID_Context="protelIO" Type="14"/>
</ns2:RevenueDetail>
</ns2:RevenueDetails> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1"/>
<GuestCount AgeQualifyingCode="8" Count="1"/>
<GuestCount AgeQualifyingCode="7" Count="1"/>
</GuestCounts>
</RoomRate>
</RoomRates>
<GuestCounts IsPerRoom="true">
<GuestCount AgeQualifyingCode="10" Count="1"/>
<GuestCount AgeQualifyingCode="8" Count="1"/>
<GuestCount AgeQualifyingCode="7" Count="1"/>
</GuestCounts> |
Extend the functionality for import Child with a Reservation
- If a AQC is part of the message pAir will evalute against the AQC
- If the AQC is missing pAir will evalute against the Age
- If both are missing, pAir treats GuestCounts as Adult
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | RoomStays | RoomStay | RoomRates | RoomRate | GuestCounts | GuestCount
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | RoomStays | RoomStay | GuestCounts | GuestCount
Codeblock | ||||
---|---|---|---|---|
| ||||
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1"/>
<GuestCount AgeBucket="Teenage" AgeQualifyingCode="9" Count="1"/>
<GuestCount AgeBucket="Child" AgeQualifyingCode="8" Count="1"/>
<GuestCount AgeBucket="Infant" AgeQualifyingCode="7" Count="1"/>
</GuestCounts>
</RoomRate>
</RoomRates>
<GuestCounts IsPerRoom="true">
<GuestCount AgeQualifyingCode="10" Count="1"/>
<GuestCount AgeBucket="Teenage" AgeQualifyingCode="9" Count="1"/>
<GuestCount AgeBucket="Child" AgeQualifyingCode="8" Count="1"/>
<GuestCount AgeBucket="Infant" AgeQualifyingCode="7" Count="1"/>
</GuestCounts> |
The AgeQualifyingCode set according to the Type set up in the Discount Group and display in the outbound reservations.
Codeblock | ||||
---|---|---|---|---|
| ||||
...
<Profile CreateDateTime="2020-10-29T07:55:51Z" CreatorID="alireza.memarifard@protel.net" LastModifierID="Unknown" LastModifyDateTime="2020-10-29T07:55:52Z" ProfileType="1" ShareAllOptOutInd="No" StatusCode="4">
<Customer Gender="Unknown" Language="fr">
<PersonName>
<GivenName>tst5</GivenName>
<Surname>test5</Surname>
</PersonName>
... |
Codeblock | ||||
---|---|---|---|---|
| ||||
...
<RatePlans>
<RatePlan CurrencyCode="EUR" End="2020-10-27" MaxGuestApplicable="4" RatePlanCode="Alireza" Start="2020-10-27">
<BaseByGuestAmts>
<BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="100.00" AmountBeforeTax="90.91" CurrencyCode="EUR" NumberOfGuests="1"/>
<BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="150.00" AmountBeforeTax="136.36" CurrencyCode="EUR" NumberOfGuests="2"/>
<BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="180.00" AmountBeforeTax="163.64" CurrencyCode="EUR" NumberOfGuests="3"/>
<BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="200.00" AmountBeforeTax="181.82" CurrencyCode="EUR" NumberOfGuests="4"/>
</BaseByGuestAmts>
<AdditionalGuestAmounts>
<AdditionalGuestAmount AgeQualifyingCode="8" Amount="25.00" MaxAdditionalGuests="1" MaxAge="2" MinAge="0"/>
<AdditionalGuestAmount AgeQualifyingCode="8" Amount="35.00" MaxAdditionalGuests="1" MaxAge="8" MinAge="3"/>
<AdditionalGuestAmount AgeQualifyingCode="8" Amount="45.00" MaxAdditionalGuests="1" MaxAge="18" MinAge="9"/>
<AdditionalGuestAmount AgeQualifyingCode="8" Amount="25.00" MaxAdditionalGuests="2" MaxAge="2" MinAge="0"/>
<AdditionalGuestAmount AgeQualifyingCode="8" Amount="35.00" MaxAdditionalGuests="2" MaxAge="8" MinAge="3"/>
<AdditionalGuestAmount AgeQualifyingCode="8" Amount="45.00" MaxAdditionalGuests="2" MaxAge="18" MinAge="9"/>
</AdditionalGuestAmounts>
<RateDescription Name="RateGroup">
<Text TextFormat="PlainText">FLEX</Text>
</RateDescription>
<MarketCode MarketCode="COU" MarketCodeName="Couple"/>
</RatePlan>
</RatePlans>
</RoomType>
... |
Codeblock | ||||
---|---|---|---|---|
| ||||
<HTNG_HotelCheckOutNotifRS xmlns="http://htng.org/2014B" TimeStamp="2020-09-28T11:28:12.2502538Z" Version="3.000" CorrelationID="Test_AKO_6">
<Success/>
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:DocumentExtensions>
<px:DocumentData Type="Invoice" ID="419" ID_Context="protelIO">JVBERi0xLjYKJcOkw7zDtsOfCjIgM...</px:DocumentData> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<htng:HTNG_ChargePostingRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:htng="http://htng.org/2014B" xmlns:p="http://protel.io/soap" xmlns:px="http://protel.io/htng/extensions" EchoToken="IPA_704_13" TimeStamp="2020-06-09T18:03:07Z" Version="1" CorrelationID="IPA_704_13" PrimaryLangID="en_US">
<htng:UniqueID Type="10" ID_Context="protelIO" ID="2787"/>
<htng:Posting ID="12345">
<htng:Transaction>
<htng:RevenueDetails>
<htng:RevenueDetail Amount="-7.00" CurrencyCode="EUR" Description="Logis" ReferenceID="98" SubTypeID="Payment" TransactionDate="2020-08-09">
<htng:Account ID="2255" ID_Context="protelIO" Type="16"/>
</htng:RevenueDetail>
</htng:RevenueDetails>
</htng:Transaction>
</htng:Posting>
</htng:HTNG_ChargePostingRQ> |
OTA_HotelAvailNotifRS
Codeblock | ||||
---|---|---|---|---|
| ||||
<?xml version='1.0' encoding='utf-8'?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header>
<p:Action xmlns:p="http://protel.io/soap">OTA_HotelAvailNotifRS</p:Action>
<p:CorrelationID xmlns:p="http://protel.io/soap">uuid::1111-1111::1111::11</p:CorrelationID>
<p:CausedBy xmlns:p="http://protel.io/soap">uuid::1111-1111::1111::11</p:CausedBy>
<p:Source xmlns:p="http://protel.io/soap" Module="backline" ModuleVersion="2020-10-12T10:50:32 (QA)" Product="protelAir" ProductVersion="2043.0.59498-RC" Service="io.protel.air"/>
<htnga:RelatesToCorrelationID xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders">uuid::1111-1111::1111::11</htnga:RelatesToCorrelationID>
</env:Header>
<env:Body>
<OTA_HotelAvailNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:p="http://protel.io/soap" xmlns:px="http://protel.io/htng/extensions" xmlns:htng="http://htng.org/2014B" CorrelationID="uuid::1111-1111::1111::11" EchoToken="89970240-068e-438b-ba11-1da35da19144" TimeStamp="2020-10-12T12:09:58Z" Version="2.000">
<Success/>
<Warnings>
<Warning Code="0" ShortText="AvailStatus (95) excluded : No RoomType found with inventory code [PMKG1] and inventory ID [null] " Type="12">AvailStatus(95) has inccorect data</Warning>
<Warning Code="0" ShortText="RateGroups not found by RatePlanCategory code BAR1" Type="12">RateGroups not found by RatePlanCategory code BAR1</Warning>
<Warning Code="0" ShortText="RoomTypes not found with inventory code PMKG1" Type="12">RoomTypes not found with inventory code PMKG1</Warning>
<Warning Code="0" ShortText="No matches for 1 AvailStatusMessage elements" Type="13">0</Warning>
</Warnings>
<UniqueID ID="2585" ID_Context="protelIO" Type="10"/>
</OTA_HotelAvailNotifRS>
</env:Body>
</env:Envelope>
|
no change in XML structure
Modify the Value for the Attribute @PaymentTransactionTypeCode
- Charge → charge
- Reserve → reserve
- Refund → refund
Codeblock | ||||
---|---|---|---|---|
| ||||
...
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:ProfileInfoExtensions>
<px:ContactDetails>
<px:AdditionalInfo />
</px:ContactDetails>
</px:ProfileInfoExtensions>
<InvBlockExtensions>
<InvBlockID ID="114411" ID_Context="SUI" Type="18" />
</InvBlockExtensions>
<ReservationExtensions xmlns="http://protel.io/htng/extensions">
<ReservationStatus ID="17" ID_Context="protelIO"/>
</ReservationExtensions>
</TPA_Extensions>
... |
OTA_ProfileCreateRQ | Profile | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:VipCodes
OTA_ProfileCreateRQ | Profile | Customer | TPA_Extensions | px:ProfileInfoExtensions | px:PersonInfos | px:MarketingCodes
Codeblock | ||||
---|---|---|---|---|
| ||||
<px:ProfileInfoExtensions>
<px:PersonInfos>
<px:VipCodes>
<px:Code DefaultInd="true" DisplaySequence="0" ID="3" ID_Context="protelIO" Type="VIPCODE" Value="Black List"/>
<px:Code DefaultInd="false" DisplaySequence="0" ID="1" ID_Context="protelIO" Type="VIPCODE" Value="Stammgast"/>
</px:VipCodes>
<px:MarketingCodes>
<px:Code DefaultInd="true" DisplaySequence="0" ID="8" ID_Context="protelIO" Type="MARKETINGCODE" Value="Urlauber"/>
<px:Code DefaultInd="false" DisplaySequence="0" ID="16" ID_Context="protelIO" Type="MARKETINGCODE" Value="Wellness / Beauty"/>
</px:MarketingCodes>
</px:PersonInfos>
</px:ProfileInfoExtensions> |
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
OTA_ProfileCreateRQ | Profile | Customer | URL
OTA_ProfileModifyRQ | ProfileModify | Customer | URL
Codeblock | ||||
---|---|---|---|---|
| ||||
<Profile ShareAllOptOutInd="Yes" ProfileType="1" CreateDateTime="2020-10-08T09:52:00" CreatorID="protel 37" RPH="" LastModifyDateTime="2020-10-08T09:52:48" LastModifierID="protel 37" StatusCode="4">
<Customer Gender="Unknown" Language="de">
<PersonName>
<GivenName>Max</GivenName>
<Surname>Mustermann</Surname>
</PersonName>
<Address FormattedInd="false" ShareMarketInd="No" Type="1" DefaultInd="true">
<StateProv/>
<CountryName Code="NO">Norwegen</CountryName>
</Address>
<CitizenCountryName DefaultInd="true" Code="NO"/>
<Document BirthDate="1900-01-01" EffectiveDate="1900-01-01" ExpireDate="2050-12-31"/>
<EmployerInfo CompanyShortName="Company2" Department="Department">Company1</EmployerInfo>
<URL DefaultInd="true" ShareMarketInd="No">Url@test.com</URL>
</Customer>
</Profile> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_HotelAvailNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2020-11-11T12:42:52Z" Version="3.000" CorrelationID="PWS-2275-TestRound3-SR1">
<Success/>
<Warnings>
<Warning ShortText="RateGroups not found by RatePlanCategory code SRBAR" Code="320" Type="12">RateGroups not found by RatePlanCategory code SRBAR</Warning>
<Warning ShortText="No matches for 1 AvailStatusMessage elements" Code="320" Type="13">No matches for 1 AvailStatusMessage elements</Warning>
</Warnings>
</OTA_HotelAvailNotifRS> |
Currently when receiving an inbound AvailNotif with multiple restrictions, some of them are successfully but some fail, the PWS is replying with an Error
We will change this behaviour, the PWS should return a warning element for every failed restriction and process the correct ones, so that RS message holds Success and Warnings. Additionally there will be one warning element with the overall number of failed AvailStatusMessages.
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:IO_ResModifyNotifRQ xmlns:p="http://protel.io/soap" CorrelationID="PWS-2286-SR3" TimeStamp="2018-12-29T15:20:35.985Z" Version="1.00">
<p:Reservations HotelCode="3153">
<p:Reservation ArrivalDate="2018-01-10">
<p:UniqueID ID="341561" Type="14" ID_Context="Protel_IO"/>
<p:FixedCharges>
<p:FixedCharge Action="CREATE" Code="TAA using article" UpsellInd="false" Recurrence="Daily" Quantity="1">
<p:InvoiceText>TAA upsell using an article</p:InvoiceText>
<p:Price SingleAmountAfterTax="22.22" CurrencyCode="EUR"/>
<p:Item ItemID="1234" Code="1080"/>
</p:FixedCharge>
</p:FixedCharges>
</p:Reservation>
</p:Reservations>
</p:IO_ResModifyNotifRQ> |
If UpsellInd="false" and no Item/@Code but Item/@ItemID provided, the fixed charge will be processed.
If UpsellInd="false" and no Item/@ItemID provided, the PWS will send an error back.
Modifying the ShareMarketInd for Company profiles without <Customer> Element is not possible, we will fix this.
For Company Profiles only a <CompanyInfo> Element is needed to modify the ShareMarketInd.
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | @CreateDateTime
OTA_HotelResNotifRQ | HotelReservations | HotelReservation | @LastModifyDateTime
no change in XML structure
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
OTA_ProfileCreateRQ | Profile | Customer | CustLoyalty | SubAccountBalance | Type
OTA_ProfileModifyRQ | ProfileModify | Customer | CustLoyalty | SubAccountBalance | Type
Codeblock | ||||
---|---|---|---|---|
| ||||
<CustLoyalty ProgramID="5566" MembershipID="5566" RPH="9" PrimaryLoyaltyIndicator="false" AllianceLoyaltyLevelName="GHA" Remark="" LoyalLevel="PLATINUM" SignupDate="2019-05-18" EffectiveDate="2019-05-18" ExpireDate="2019-05-18" ShareMarketInd="No" ShareSyncInd="No">
<SubAccountBalance Type="Type1" Balance="60" />
</CustLoyalty> |
To import the @Type correctly and set it in the guest's loyalty Program as Loyalty Type.
Extend the error handling for not existing Type, no change in the XML Message.
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
OTA_ProfileCreateRQ | Profile | Customer | CustLoyalty | @LoyalLevel
OTA_ProfileModifyRQ | ProfileModify | Customer | CustLoyalty | @LoyalLevel
Codeblock | ||||
---|---|---|---|---|
| ||||
<CustLoyalty ProgramID="5566" MembershipID="5566" RPH="9" PrimaryLoyaltyIndicator="false" AllianceLoyaltyLevelName="GHA" Remark="" LoyalLevel="PLATINUM" SignupDate="2019-05-18" EffectiveDate="2019-05-18" ExpireDate="2019-05-18" ShareMarketInd="No" ShareSyncInd="No">
<SubAccountBalance Balance="0" />
</CustLoyalty> |
To import the @LoyalLevel correctly and set it in the guest's loyalty Program as Loyalty level.
Extend the error handling for not existing LoyalLevel, no change in the XML Message.
Codeblock | ||||
---|---|---|---|---|
| ||||
<HTNG_HotelFolioRS xmlns="http://htng.org/2014B" TimeStamp="2020-10-27T11:03:40.5921104Z" Version="3.000" CorrelationID="PWS_2252_01" EchoToken="PWS_2252_01" Target="Test" TransactionStatusCode="Start" RetransmissionIndicator="false">
<Success/>
<Folios>
<Folio FolioID="341558-0" FolioType="Room" InvoiceID="0" GuestPayable="true">
...
</Folio>
<Folio FolioID="341558-1" FolioType="Room" InvoiceID="0" GuestPayable="false">
....
</Folio>
</Folios>
</HTNG_HotelFolioRS>
</env:Body>
</env:Envelope> |
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
OTA_ProfileModifyRQ | Customer / EmployerInfo
OTA_ProfileCreateRQ | Customer | EmployerInfo
Codeblock | ||||
---|---|---|---|---|
| ||||
<Customer Gender="Male" Language="de">
<PersonName>
<GivenName>tst</GivenName>
<Surname>Test593_02</Surname>
</PersonName>
<Address FormattedInd="false" ShareMarketInd="No" Type="1" DefaultInd="true">
<StateProv/>
<CountryName Code="NO">Norwegen</CountryName>
</Address>
<CitizenCountryName DefaultInd="true" Code="NO" />
<Document BirthDate="1900-01-01" EffectiveDate="1900-01-01" ExpireDate="1900-01-01" />
<EmployerInfo CompanyShortName="Company2" Department="Dep">Company</EmployerInfo>
</Customer> |
- Customer | @Gender
- Customer | @BirthDate
- Customer | @Language
- Customer | PersonName | NamePrefix
- Customer | CitizenCountryName (element)
- Customer | RelatedTraveler (element)
- Customer | Document (element)
OTA_ResResRetrieve | RoomStays | BasicPropertyInfo
OTA_ResResRetrieve | RoomStays | RoomStay | ResGuestRPH
Root element
- Version to 6.002
- add PrimaryLangID="de"
- add the attribute EchoToken
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_ResRetrieveRS xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2020-10-15T07:45:33.7529995Z" Version="6.002" CorrelationID="READ#TEST#1" EchoToken="52151515151" PrimaryLangID="de">
<Success/>
<ReservationsList>
<HotelReservation ResStatus="Reserved">
<UniqueID Type="14" ID="33526" ID_Context="protelIO"/>
<RoomStays>
<RoomStay>
<BasicPropertyInfo HotelCode="3236" HotelCodeContext="protelIO" HotelName="ART SKI - IN Hotel Hinterhag, A-5753 Saalbach" ChainCode="HC1"/>
<ResGuestRPHs>
<ResGuestRPH RPH="36842"/>
</ResGuestRPHs>
...
</RoomStay>
</RoomStays>
<ResGuests>
<ResGuest xmlns:px="http://protel.io/htng/extensions" PrimaryIndicator="false">
<Profiles>
<ProfileInfo>
<UniqueID Type="1" ID="36842" ID_Context="protelIO"/>
<Profile ProfileType="1">
<Customer Gender="Female" BirthDate="1989-08-12" Language="de">
<PersonName>
<NamePrefix>Frau</NamePrefix>
<GivenName>Test_GivenName</GivenName>
<MiddleName/>
<Surname>Test_SurName</Surname>
</PersonName>
<Telephone ShareMarketInd="Null" PhoneNumber="0231-915930" PhoneLocationType="6" PhoneTechType="1" DefaultInd="true"/>
<Email DefaultInd="true" EmailType="1">support@protel.net</Email>
<Address FormattedInd="false" Type="1" DefaultInd="true" UseType="6">
<AddressLine>Europaplatz 9a</AddressLine>
<CityName>Dortmund</CityName>
<PostalCode>44269</PostalCode>
<StateProv StateCode="DE-NW">Nordrhein-Westfalen</StateProv>
<CountryName Code="DE">Deutschland</CountryName>
</Address>
<CitizenCountryName DefaultInd="true" Code="DE"/>
<RelatedTraveler BirthDate="1985-10-17">
<UniqueID Type="1" ID="36255"/>
<PersonName Language="en">
<NamePrefix>Mr.</NamePrefix>
<GivenName>Jacob</GivenName>
<Surname>Aliker</Surname>
<Document/>
</PersonName>
</RelatedTraveler>
<Document DocIssueLocation="Dormtund" DocID="12345" BirthDate="1989-08-12" EffectiveDate="2000-12-12" ExpireDate="2050-12-31"/>
... |
HTNG_HotelFolioNotifRQ
Codeblock | ||||
---|---|---|---|---|
| ||||
<HTNG_HotelFolioNotifRQ>
<TPA_Extensions>
<px:FiscalExtensions xmlns:px="http://protel.io/htng/extensions">
<px:FiscalExtension InvoiceID="2:130" FiscalCode="2"/>
</px:FiscalExtensions>
</TPA_Extensions> |
HTNG_HotelFolioRS
Codeblock | ||||
---|---|---|---|---|
| ||||
<HTNG_HotelFolioRS>
<TPA_Extensions>
<px:FiscalExtensions xmlns:px="http://protel.io/htng/extensions">
<px:FiscalExtension InvoiceID="2:130" FiscalCode="2"/>
</px:FiscalExtensions>
</TPA_Extensions> |
no change in XML structure
Available rooms should be listed in the OTA_HotelAvailRS based on the following XSetup:
- if yield.enable = 0, normal rate calculation
- if yield.enable = 1, BAR rate calculation (query in yieldbar table) as current behavior
- if yield.enabledhurdle = 1, normal rate calculation compare to the valid hurdle rates. //for instance if normal rate is 100 and hurdle is 120, then No availability.
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_HotelInvBlockNotifRS>
<Success/>
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:ProfileInfoExtensions>
<px:ContactDetails>
<px:AdditionalInfo>
<px:Entry ID="155498" ID_Context="protelIO" RPH="1"/>
<px:Entry ID="00000013" ID_Context="USI" RPH="1"/> |
OnPrem will trigger now as described in our documentation the correct number of days
Info |
---|
|
IO_StatsNotifRQ | Statistics | Statistic | StatisticApplicationSets | StatisticApplicationSet | CountCategorySummaries | CountCategorySummary | CountCategoryCode = 14
IO_StatsNotifRQ | Statistics | Statistic | StatisticApplicationSets | StatisticApplicationSet | CountCategorySummaries | CountCategorySummary | CountCategoryCode = 19
Codeblock | ||||
---|---|---|---|---|
| ||||
<IO_StatsNotifRQ EchoToken="092f259e-bcf8-4739-8ecb-7b7cf2383c9f" TimeStamp="2020-10-07T15:28:39Z" Version="1.002" CorrelationID="092f259e-bcf8-4739-8ecb-7b7cf2383c9f" xmlns="http://protel.io/soap">
<Statistics xmlns="http://www.opentravel.org/OTA/2003/05">
<Statistic ChainCode="HC1" HotelCode="3153" FiscalDate="2017-06-21" ReportCode="Genius_CurrentDailyRoomTypeStatistics_v1">
<StatisticApplicationSets>
<StatisticApplicationSet Start="2017-06-21" End="2017-06-21">
<StatisticCodes>
<StatisticCode StatCode="ACCT" StatCategoryCode="3"/>
<StatisticCode StatCode="1" StatCategoryCode="Pseudo"/>
</StatisticCodes>
<RevenueCategorySummaries>
<RevenueCategorySummary RevenueCategoryCode="6" CurrencyCode="AED" Amount="0.00"/>
<RevenueCategorySummary RevenueCategoryCode="3" CurrencyCode="AED" Amount="0.00"/>
<RevenueCategorySummary RevenueCategoryCode="9" CurrencyCode="AED" Amount="0.00"/>
<RevenueCategorySummary RevenueCategoryCode="17" CurrencyCode="AED" Amount="0.00"/>
</RevenueCategorySummaries>
<CountCategorySummaries>
<CountCategorySummary SummaryCount="1" CountCategoryCode="8"/>
<CountCategorySummary SummaryCount="0" CountCategoryCode="9"/>
<CountCategorySummary SummaryCount="0" CountCategoryCode="10"/>
<CountCategorySummary SummaryCount="0" CountCategoryCode="11"/>
<CountCategorySummary SummaryCount="0" CountCategoryCode="12"/>
<CountCategorySummary SummaryCount="0" CountCategoryCode="13"/>
<CountCategorySummary SummaryCount="0" CountCategoryCode="22"/>
<CountCategorySummary SummaryCount="0" CountCategoryCode="14"/>
<CountCategorySummary SummaryCount="3" CountCategoryCode="19"/>
</CountCategorySummaries>
</StatisticApplicationSet>
<StatisticApplicationSet Start="2017-06-22" End="2017-06-22">
<StatisticCodes>
<StatisticCode StatCode="CBRT" StatCategoryCode="3"/>
<StatisticCode StatCode="0" StatCategoryCode="Pseudo"/>
</StatisticCodes>
<RevenueCategorySummaries>
<RevenueCategorySummary RevenueCategoryCode="6" CurrencyCode="AED" Amount="0.00"/>
<RevenueCategorySummary RevenueCategoryCode="3" CurrencyCode="AED" Amount="0.00"/>
<RevenueCategorySummary RevenueCategoryCode="9" CurrencyCode="AED" Amount="0.00"/>
<RevenueCategorySummary RevenueCategoryCode="17" CurrencyCode="AED" Amount="0.00"/>
</RevenueCategorySummaries>
<CountCategorySummaries>
<CountCategorySummary SummaryCount="2" CountCategoryCode="8"/>
<CountCategorySummary SummaryCount="0" CountCategoryCode="9"/>
<CountCategorySummary SummaryCount="0" CountCategoryCode="10"/>
<CountCategorySummary SummaryCount="0" CountCategoryCode="11"/>
<CountCategorySummary SummaryCount="0" CountCategoryCode="12"/>
<CountCategorySummary SummaryCount="1" CountCategoryCode="13"/>
<CountCategorySummary SummaryCount="0" CountCategoryCode="22"/>
<CountCategorySummary SummaryCount="1" CountCategoryCode="14"/>
<CountCategorySummary SummaryCount="0" CountCategoryCode="19"/>
</CountCategorySummaries>
</StatisticApplicationSet> |
Added the CountCategoryCode to the future Report
14 = Room cancelled
19 = Day-use rooms
HTNG_HotelCheckOutNotifRS | TPA_Extensions | DocumentExtensions | DocumentData
Codeblock | ||||
---|---|---|---|---|
| ||||
<HTNG_HotelCheckOutNotifRS xmlns="http://htng.org/2014B" TimeStamp="2020-09-28T11:28:12.2502538Z" Version="3.000" CorrelationID="Test_AKO_6">
<Success/>
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:DocumentExtensions>
<px:DocumentData Type="Invoice" ID="419" ID_Context="protelIO">JVBERi0xLjYKJcOkw7zDtsOfCjIgM...</px:DocumentData> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_HotelResNotifRS ResResponseType="Commited">
<Success/>
<HotelReservations>
<HotelReservation>
<UniqueID ID="33749" Type="14" ID_Context="protelIO"/>
<UniqueID ID="WIRJOWARIabc1321" Type="14" ID_Context="PartnerCRS"/>
</HotelReservation>
</HotelReservations>
</OTA_HotelResNotifRS> |
For "Commit" reservations which originated in the PMS it is now possible to store the external reservation confirmation number.
The UniqueID/@ID and /@ID_Context will be then included in further OTA_HotelResNotifRQ messages from the PMS.
Codeblock | ||||
---|---|---|---|---|
| ||||
<HTNG_HotelFolioNotifRQ>
<Folios>
<Folio FolioID="33389-0" FolioType="Room" InvoiceID="0" GuestViewable="false" GuestPayable="true">
<RevenueSummary>
<GrossAmount Amount="0" xmlns="http://www.opentravel.org/OTA/2003/05"/>
<TaxItems Amount="0" xmlns="http://www.opentravel.org/OTA/2003/05"/>
<BalanceDueAmount Amount="0" xmlns="http://www.opentravel.org/OTA/2003/05"/>
<AmountReceived Amount="0" xmlns="http://www.opentravel.org/OTA/2003/05"/>
</RevenueSummary>
<RevenueDetails/> |
OTA_ProfileCreateRQ
OTA_ProfileModifyRQ
OTA_ProfileCreateRQ | POS | Source | TPA_Extensions | POSExtensions | HotelInfo | @FiscalDate
OTA_ProfileModifyRQ | POS | Source | TPA_Extensions | POSExtensions | HotelInfo | @FiscalDate
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_ProfileCreateRQ>
<POS>
<Source>
<TPA_Extensions>
<px:POSExtensions xmlns:px="http://protel.io/htng/extensions">
<px:HotelInfo/> |
Changed the error text in case of not existing a profile ID to:
<Error ShortText="Could not find profile 61000000 - Profile does not exist." Code="321"/>
no change in XML structure
Codeblock | ||||
---|---|---|---|---|
| ||||
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:ProfileInfoExtensions>
<px:ContactDetails>
<px:AdditionalInfo />
</px:ContactDetails>
</px:ProfileInfoExtensions>
<InvBlockExtensions>
<InvBlockID ID="213" ID_Context="protelIO" Type="18" />
<InvBlockID ID="4444" ID_Context="iVvy" Type="18" />
</InvBlockExtensions>
<px:ReservationExtensions>
<px:ReservationStatus Code="Conf" ID="3" ID_Context="protelIO" Name="Credit Card Guarante" RPH="213" />
</px:ReservationExtensions>
</TPA_Extensions> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<?xml version='1.0' encoding='utf-8'?>
<OTA_HotelInvBlockNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" EchoToken="7e8b3c99-1097-4e4a-a542-c47836abc56e" TimeStamp="2020-09-23T10:06:44Z" Version="4.001" CorrelationID="7e8b3c99-1097-4e4a-a542-c47836abc56e" PrimaryLangID="en" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelInvBlockNotifRQ.xsd">
<POS>... </POS>
<InvBlocks>
...
</InvBlocks>
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:ProfileInfoExtensions>
<px:ContactDetails>
<px:AdditionalInfo>
<px:Entry ID="155463" ID_Context="protelIO" Type="5" DefaultInd="true">SafiranParvazAsia</px:Entry>
<px:Entry ID="155460" ID_Context="protelIO" Type="4" DefaultInd="true">ADL</px:Entry>
<px:Entry ID="155494" ID_Context="protelIO" Type="7" DefaultInd="true">AsiaParliment</px:Entry>
<px:Entry ID="155456" ID_Context="protelIO" Type="9" DefaultInd="true">GRP1</px:Entry>
</px:AdditionalInfo>
</px:ContactDetails>
</px:ProfileInfoExtensions>
<InvBlockExtensions>
<InvBlockID ID="202" ID_Context="protelIO" Type="18"/>
</InvBlockExtensions>
</TPA_Extensions>
</OTA_HotelInvBlockNotifRQ>
|
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_HotelResNotifRQ>
<HotelReservations>
<HotelReservation>
<ResGuests>
<ResGuest>
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:GuestStayExtensions>
<px:TelephoneSetting ClassOfService="1"/>
</px:GuestStayExtensions>
</TPA_Extensions> |
OTA_HotelAvailRS / RoomStays / RoomStay / RatePlans / RatePlan / RatePlanDescription
Codeblock | ||||
---|---|---|---|---|
| ||||
<?xml version='1.0' encoding='utf-8'?>
<OTA_HotelAvailRS xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2020-09-08T07:59:44.6739226Z" Version="6.001" CorrelationID="PWS-2221-SR4" EchoToken="PWS-2221-SR4" PrimaryLangID="en" SearchCacheLevel="live">
<Success/>
<HotelStays>... </HotelStays>
<RoomStays>
<RoomStay RoomStayStatus="Quote" ResponseType="PropertyRateList" AvailabilityStatus="AvailableForSale" InfoSource="PMS" RPH="1" AvailableIndicator="true">
<RoomTypes>
<RoomType IsRoom="true" RoomTypeCode="CBR" RoomType="Classic One Bedroom Suite"/>
</RoomTypes>
<RatePlans>
<RatePlan RatePlanCode="Ali3" RatePlanID="354" EffectiveDate="2017-06-20" ExpireDate="2017-06-21" PriceViewableInd="true">
<AdditionalDetails>
...
</AdditionalDetails>
<CancelPenalties>
<CancelPenalty PolicyCode="Non Refundable">
<PenaltyDescription Name="Name">
<Text TextFormat="PlainText">Non Refundable</Text>
</PenaltyDescription>
</CancelPenalty>
</CancelPenalties>
<RatePlanDescription>
<RatePlanDescription Name="Long Description">
<Text TextFormat="PlainText">1111</Text>
</RatePlanDescription>
</RatePlanDescription>
</RatePlan>
</RatePlans>
<RoomRates>...</RoomRates>
<Total AmountAfterTax="120.00" CurrencyCode="AED"/>
</RoomStay>
<RoomStay RoomStayStatus="Quote" ResponseType="PropertyRateList" AvailabilityStatus="AvailableForSale" InfoSource="PMS" RPH="1" AvailableIndicator="true">
<RoomTypes>
<RoomType IsRoom="true" RoomTypeCode="CBR" RoomType="Classic One Bedroom Suite"/>
</RoomTypes>
<RatePlans>
<RatePlan RatePlanCode="Ali3" RatePlanID="354" EffectiveDate="2017-06-20" ExpireDate="2017-06-21" PriceViewableInd="true">
<AdditionalDetails>
...
</AdditionalDetails>
<CancelPenalties>
<CancelPenalty PolicyCode="Non Refundable">
<PenaltyDescription Name="Name">
<Text TextFormat="PlainText">Non Refundable</Text>
</PenaltyDescription>
</CancelPenalty>
</CancelPenalties>
<RatePlanDescription>
<RatePlanDescription Name="Long Description">
<Text TextFormat="PlainText">1111</Text>
</RatePlanDescription>
</RatePlanDescription>
</RatePlan>
</RatePlans>
<RoomRates>
...
</RoomRates>
<Total AmountAfterTax="150.00" CurrencyCode="AED"/>
</RoomStay>
...
</RoomStays>
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
...
</TPA_Extensions>
</OTA_HotelAvailRS>
|
Codeblock | ||||
---|---|---|---|---|
| ||||
<p:IO_ResModifyNotifRQ xmlns:p="http://protel.io/soap" CorrelationID="PWS-2168-Test1a" TimeStamp="2018-12-29T15:20:35.985Z" Version="1.00">
<p:Reservations HotelCode="2570">
<p:Reservation ArrivalDate="2018-09-28">
<p:UniqueID ID="345318" Type="14" ID_Context="Protel_IO"/>
<p:InvoiceItemRoutings>
<p:InvoiceItemRouting Action="CREATE" ID_Context="protelIO">
<p:Target ID="345318-1" ID_Context="protelIO" Type="Invoice"/>
<p:Source ID="345318" ID_Context="protelIO" Type="Reservation"/>
<p:ItemFilter>
<p:Posting From="2018-09-28" To="2018-10-03" Fri="true" Mon="true" Sat="true" Sun="true" Thu="true" Tue="true" Wed="true"/>
<p:ItemGroups>
<p:ItemGroup Code="-1000002" ID="-1" ID_Context="protelIO">FB</p:ItemGroup>
</p:ItemGroups>
</p:ItemFilter>
</p:InvoiceItemRouting>
</p:InvoiceItemRoutings>
</p:Reservation>
</p:Reservations>
</p:IO_ResModifyNotifRQ> |
OTA_ProfileModifyRQ
OTA_ProfileModifyRQ | UniqueID
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_ProfileCreateRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="1">
<POS>
...
</POS>
<UniqueID Type="5" ID="556671101" ID_Context="IATA"/>
<Profile ShareAllOptOutInd="Yes" ProfileType="4" CreateDateTime="2020-06-26T16:13:00" CreatorID="protel I/O_4866" LastModifyDateTime="2020-06-30T16:06:17" LastModifierID="protel 1" StatusCode="4">
<Customer/>
<CompanyInfo>
...
</CompanyInfo>
</Profile>
</OTA_ProfileCreateRQ> |
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_HotelResNotifRQ>
<HotelReservations>
<HotelReservation>
<RoomStays>
<RoomStay>
<TPA_Extensions>
<px:RateAmountExtensions xmlns:px="http://protel.io/htng/extensions" End="2018-11-21" Start="2018-11-17" AlternateCurrencyInd="false">
...
</px:RateAmountExtensions>
<px:FixedChargesAmountsExtensions xmlns:px="http://protel.io/htng/extensions" End="2018-11-21" Start="2018-11-17">
<px:RateAmount AmountAfterTax="0.00" AmountBeforeTax="0.00" RevenueCategoryCode="3" CurrencyCode="EUR"/>
<px:RateAmount AmountAfterTax="0.00" AmountBeforeTax="0.00" RevenueCategoryCode="6" CurrencyCode="EUR"/>
<px:RateAmount AmountAfterTax="0.00" AmountBeforeTax="0.00" RevenueCategoryCode="9" CurrencyCode="EUR"/>
<px:RateAmount AmountAfterTax="0.00" AmountBeforeTax="0.00" RevenueCategoryCode="17" CurrencyCode="EUR"/>
</px:FixedChargesAmountsExtensions>
</TPA_Extensions> |
OTA_HotelAvailRS | TPA_Extensions |
AvailabilityExtensions
Codeblock | ||||
---|---|---|---|---|
| ||||
<OTA_HotelAvailRS xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2020-08-27T09:51:57.7432169Z" Version="6.001" CorrelationID="SR_Test1" EchoToken="EchoToken_String" PrimaryLangID="en" SearchCacheLevel="live">
<Success/>
<HotelStays>...</HotelStays>
<RoomStays>
...
<RoomStay RoomStayStatus="Quote" ResponseType="PropertyRateList" AvailabilityStatus="AvailableForSale" InfoSource="PMS" RPH="1" AvailableIndicator="true">
<RoomTypes>
<RoomType IsRoom="true" RoomTypeCode="DZ Tal" RoomType="Doppelzimmer "Tal""/>
</RoomTypes>
<RatePlans>
<RatePlan RatePlanCode="PACKTEST" RatePlanID="44" EffectiveDate="2019-08-01" ExpireDate="2019-08-05" PriceViewableInd="true">
<AdditionalDetails>...</AdditionalDetails>
<Guarantee GuaranteeCode="Test">
<GuaranteeDescription Name="Name">
<Text TextFormat="PlainText">Test</Text>
</GuaranteeDescription>
</Guarantee>
</RatePlan>
</RatePlans>
<RoomRates>...</RoomRates>
<Total AmountAfterTax="400.00" CurrencyCode="EUR"/>
</RoomStay>
</RoomStays>
<TPA_Extensions xmlns:px="http://protel.io/htng/extensions">
<px:AvailabilityExtensions>
<px:RoomAvailable IsRoom="true" RoomTypeCode="DZ Tal" RoomID="101" RoomType="101 - Doppelzimmer "Tal"" uantity="1">
<RoomDescription Name="Short Description">
<Text TextFormat="PlainText">Doppelzimmer mit Balkon</Text>
</RoomDescription>
<Occupancy MinOccupancy="2"/>
<px:Amenities>
<px:Amenity>
<px:RoomAmenity>Extra Fenster </px:RoomAmenity>
</px:Amenity>
</px:Amenities>
</px:RoomAvailable>
...
</px:AvailabilityExtensions>
</TPA_Extensions>
</OTA_HotelAvailRS> |