|
|
|
|
|
|
|
|
---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IO_InvoiceFiscalizeRQ | outbound | pAir | IO_InvoiceFiscalizeRQ | Invoice | @FiscalCodeID |
Codeblock |
---|
| <p:IO_InvoiceFiscalizeRQ>
<p:Invoice FiscalCode="29" FiscalCodeID="10" FiscalCodeName="Fiscal_test" "> |
| Add the Attribute @FiscalCodeID to the Element Invoice | IPA-825 | IPA 21.16 |
|
|
|
|
|
|
|
|
OTA_HotelAvailRQ | Inbound | pAir | OTA_HotelAvailRQ | AvailRequestSegments | AvailRequestSegment | HotelSearchCriteria | Criterion | Profiles |
Codeblock |
---|
| <OTA_HotelAvailRQ
xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="EchoToken_String" HotelStayOnly="true" ExactMatchOnly="false" TimeStamp="2018-12-03T09:30:47Z" Version="5.000" Target="Test">
<POS>
<Source>
<RequestorID Type="10" ID_Context="protelIO" ID="3236" />
</Source>
</POS>
<AvailRequestSegments>
<AvailRequestSegment AvailReqType="Room">
<HotelSearchCriteria>
<Criterion>
<StayDateRange Start="2020-08-01" End="2020-08-05" />
<Profiles>
<ProfileInfo>
<UniqueID ID="123456" ID_Context="protelIO" Type="1" />
<Profile/>
</ProfileInfo>
</Profiles>
</Criterion>
</HotelSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ> |
| Extended the schema to enable query with profile ID. The query is meant to return special corporate rates linked to the profile. - query can be done only for 1 profile id at a time
- the result will hold only the special corporate rates and no other rates
- if no profile id is used - other search criteria is applied (no special corporate rates are included)
| IPA-791 | IPA 21.12 |
|
|
|
|
|
|
|
|
OTA_HotelResNotifRQ | outbound | pAir | no changes in XML |
Codeblock |
---|
| ...
<TPA_Extensions>
<px:GuestStayExtensions>
<px:StayInfo Arrival="2020-08-16T12:00:00+02:00" Departure="2020-08-20T12:00:00+02:00" PrimaryInd="false" Role="BookerAndArrivingGuest" Status="In-house"/>
<px:TelephoneSetting ClassOfService="3"/>
</px:GuestStayExtensions>
</TPA_Extensions>
... |
| In case that the second guest has the reservation booker role, this attribute in ResGuest will be displayed as Role="BookerAndArrivingGuest" | IPA-749 | 21.10 |
HTNG_HotelFolioNotifRQ | Outbound | pAir | no changes in XML |
| EOD will produces HTNG_HotelFolioNotifRQ messages because charges were posted to inhouse reservations. | IPA-815 | 21.10 |
HTNG_ChargePostingRQ | inbound | pAir | HTNG_ChargePostingRQ | Posting | RevenueDetails | RevenueDetail | @Amount HTNG_ChargePostingRQ | Posting | RevenueDetails | RevenueDetail | ExtendedPrice | @AmountAfterTax | no changes in the XML | RevenueDetail | @Amount will be used for the Total Amount of an Item. ExtendedPrice | @AmountAfterTax will be used for the Single Amount of an Item. |
|
|
OTA_ProfileModifyRQ | inbound | pAir | OTA_ProfileModifyRQ | ProfileModify | Customer | Telephone OTA_ProfileModifyRQ | ProfileModify | Customer | Email OTA_ProfileModifyRQ | ProfileModify | CompanyInfo | TelephoneInfo OTA_ProfileModifyRQ | ProfileModify | CompanyInfo | Email | no changes in the XML | Change the Logic for inbound Email and Telephone - Ignore empty incoming lists of attached records (to avoid unwanted deletions)
- Don't remove existing attached records (to avoid unwanted deletions)
- Add new record for records from the message, if value can't be found
| IPA-818 | IPA 21.10 |
OTA_ProfileCreateRQ OTA_ProfileModifyRQ | Outbound | pAir | OTA_ProfileCreateRQ | Profile | Customer | Telephone | @PhoneLocationType OTA_ProfileModifyRQ | ProfileModify | Customer | Telephone | @PhoneLocationType
OTA_ProfileCreateRQ | Profile | CompanyInfo | TelephoneInfo | @PhoneLocationType OTA_ProfileModifyRQ | ProfileModify | CompanyInfo | TelephoneInfo | @PhoneLocationType |
Codeblock |
---|
| <Telephone DefaultInd="true" FormattedInd="false" PhoneLocationType="6" PhoneNumber="0231-915930" PhoneTechType="1"/>
<Telephone DefaultInd="true" FormattedInd="false" PhoneLocationType="6" PhoneNumber="0177-777 555 22" PhoneTechType="5"/>
<Telephone DefaultInd="true" FormattedInd="false" PhoneLocationType="6" PhoneNumber="0231-915 915 915" PhoneTechType="3"/> |
Codeblock |
---|
| <TelephoneInfo DefaultInd="false" FormattedInd="false" PhoneLocationType="7" PhoneNumber="0231- 915 915 915" PhoneTechType="3"/>
<TelephoneInfo DefaultInd="false" FormattedInd="false" PhoneLocationType="7" PhoneNumber="0177-777 555 22" PhoneTechType="5"/>
<TelephoneInfo DefaultInd="false" FormattedInd="false" PhoneLocationType="7" PhoneNumber="0231 -915 930" PhoneTechType="1"/> |
| Add the Attribute @PhoneLocationType to the Profile Msg | IPA-807 | IPA 21.10 |
|
|
|
|
|
|
|
|
IO_SystemDataRS | Outbound | pAir | IO_SystemDataRS | SystemData |
Codeblock |
---|
| <ns2:IO_SystemDataRS xmlns:ns2="http://protel.io/soap" xmlns:ns3="http://www.opentravel.org/OTA/2003/05" CorrelationID="IPA-800-SR5" EchoToken="IPA-800-SR5" TimeStamp="2021-02-10T09:22:48Z" Version="1.000">
<ns2:Success>false</ns2:Success>
<ns2:SystemData ChainCode="n/a" HotelCode="2100116" HotelID="2100116" HotelName="protel_IO_Testhotel_pAir_2100116">
<ns2:UniqueID ID="2100116" ID_Context="protelIO" Type="10"/>
<ns2:Accounting>...</ns2:Accounting>
<ns2:Profiles>...</ns2:Profiles>
<ns2:Loyalty>...</ns2:Loyalty>
<ns2:RoomTypes>...</ns2:RoomTypes>
<ns2:Reservations>...</ns2:Reservations>
<ns2:Events>...</ns2:Events>
<ns2:Rates>...</ns2:Rates>
<ns2:Tasks>...</ns2:Tasks>
</ns2:SystemData>
</ns2:IO_SystemDataRS> |
| - Changed element name from Result to SystemData
- Elements Errors / Success / Warnings moved up one level from IO_SystemDataRS | Result | Success (Errors, Warnings) to IO_SystemDataRS | Success (Errors, Warnings)
| IO-6063 | 21.08 |
|
|
|
|
|
|
|
|
HTNG_HotelFolioNotifRQ | Outbound | pAri | HTNG_HotelFolioNotifRQ | Folios | Folio |
Codeblock |
---|
| ...
<htng:Folios>
<htng:Folio FolioGroupingID="Closed" FolioID="2289" FolioType="Room" GuestPayable="false" InvoiceID="618">
<htng:BasicPropertyInfo ChainCode="n/a" HotelCode="2787" HotelCodeContext="protelIO" HotelName="protel_IO_Testhotel_pAir_2100112"/>
<htng:CustomerProfile>
... |
| To add FolioGroupingID in the outbound message to show the status of the invoice if it "Closed" or "Open" | IPA-796 | 21.06 |
IO_StatsNotifRQ | Outbound | pAir | no changes in the XML | | ReportCode value changed to the "Genius_PastDailyRoomTypeStatistics_v1" for the past reports triggering via API call. | IPA-792 | 21.06 |
IO_StatsNotifRQ | Outbound | pAir | IO_StatsNotifRQ | Statistics | Statistics |
Codeblock |
---|
| <Statistic ChainCode="n/a" FiscalDate="2020-08-15" HotelCode="2787" HotelName="protel_IO_Testhotel_pAir_2100112" ReportCode="Genius_PastDailyRoomTypeStatistics_v1">
<StatisticApplicationSets>
<StatisticApplicationSet End="2020-07-01" Start="2020-07-01">
<StatisticCodes>
<StatisticCode StatCategoryCode="3" StatCode="JS"/> |
| Past data value will be sent out when "Genius_PastDailyRoomTypeStatistics_v1" is triggered via an SCS job in IO_StatsNotifRQ outbound. | IPA-793 | 21.06 |
OTA_HotelStayInfoNotifRQ | Outbound | pAir | OTA_HotelStayInfoNotifRQ | StayInfos | StayInfo | RevenueCategories | RevenueCategory | RevenueDetails | RevenueDetail | FolioIDs | FolioID |
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> |
| Add the Element <FolioID>TAAGrp|ROOMS</FolioID> | IPA-759 | 21.06 |
HTNG_ChargePostingRQ | Inbound | pAir | no changes in the XML |
| Fixing the issue with Payment posted to a profile ID is failing in case of using a payment method flagged as account receivable | IPA-777 | 21.06 |
|
|
|
|
|
|
|
|
OTA_HotelResNotifRQ | Inbound | pAir | no changes in the XML |
| Modifiying AgeQulificationCode and change the number of guests with inbound reservation modify. | IPA-772 | 21.04 |
IO_InvoiceFiscalizeRQ | Outbound | pAir | IO_InvoiceFiscalizeRQ |
Codeblock |
---|
| ...
<p:Invoice User="Alireza Memarifard" UserTaxNo="" InvoiceCode="RE_13825" Fiscalized="false" ExternallyFiscalized="false" Type="Reservation" PastEndOfDay="false" Open="true" Void="false" InvoiceID="22700" DeliveryDate="2021-02-09">
... |
| Added the DeliveryDate (legal requirement Hungary) | IPA-795 | 21.04 |
HTNG_HotelRoomStatusUpdateNotifRQ | Outound | pAir | no changes in the XML |
| Fixing the incorrect RoomStatus sent out by the pAir for different status. | IPA-765 | 21.04 |
OTA_HotelResNotifRQ | Outbound | pAir | OTA_HotelResNotifRQ | HotelReservations | HotelReservation | TPA_Extensions | ReservationExtensions | FixedCharges |
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> |
| We will add the FixedCharges to the ReservationExtensions. | IPA-768 | 21.04 |
IO_SystemDataRS | Outbound | pAir | IO_SystemDataRS |
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
| IPA-766 | 21.04 |
IO_SystemDataRQ | Inbound | pAir | IO_SystemDataRQ | Request |
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
| IPA-766 | 21.04 |
|
|
|
|
|
|
|
|
OTA_HotelResNotifRQ | Outbound | pAir | no changes in the XML |
| Stop sending reservations of other multi-property hotels during EOD. | IPA-789 | 21.02 |
IO_SysAdministrationCompleteNotifRQ | Outbound | pAir | IO_SysAdministrationCompleteNotifRQ | Changes | Change | Value |
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 value of the currentBookingDate in outbound IO_SysAdministrationCompleteNotifRQ is currently same with the PMS current business date. | IPA-784 | 21.02 |
OTA_ReadRQ | Inbound | pAir | OTA_ReadRQ | @ReturnListIndicator | no change in XML | 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)
| IPA-761 | 21.02 |
OTA_ReadRQ / OTA_ProfileReadRS | Inbound | pAir | OTA_ReadRQ | @ReturnListIndicator | no change in XML | OTA_ProfileReadRS will hold
- 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
| IPA-762 | 21.02 |