GenRMS - Group Blocks
.
Overview
The Inventory Block Notification is the message that sends the notification of a new inventory block created for a hotel, indicating where to procure that inventory, and to synchronize the inventory block between systems.
Business Rules
Windsurfer can only send group blocks if they are received from the PMS. If a PMS does not support group blocks, or does not send them to Windsurfer, then the RMS should not expect to receive group blocks from Windsurfer.
Windsurfer will send group blocks regardless of status. If a group block is received by Windsurfer, the group block will be sent to the RMS.
OTA_HotelInvBlockNotifRQ Elements & Attributes
Element | @Attribute | Num | Description/Contents | Origin | Value |
OTA_HotelInvBlockNotifRQ | 1 | Root element of the message. |
|
OTA_HotelInvBlockNotifRQ / InvBlocks | 1..n | At least one InvBlocks containing one InvBlock element should be sent for the message to have meaning. |
|
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock | 1..n | At least one InvBlock element should be sent for the message have meaning. For multiple sub block or attendee types, this could be repeated. |
|
@InvBlockCode | 1..n | String to identify the Block as a code using the Group system code convention. |
|
@InvBlockLongName | 1..n | This is the full name of the inventory block. |
|
@InvBlockStatusCode | 1..n | Refers to OTA indicates the status of the block (such as Tentative, Definite, etc.). |
|
@TransactionAction | 1 | Enumerated list that describes the action associated to the message. Used to set a new block, modify, cancel, or other action as per enumerated list to be agreed between partners. | "Create", "Modify", "Cancel", “Commit“, “Book“ depending on Transaction Sub-Type |
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / HotelRef | 1 | This is the element containing the HotelMapcode of the property whose inventory blocks are being updated. |
|
@HotelCode | 1 | This is the code of the property whose inventory blocks are being updated. |
|
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / InvBlockDates |
|
|
|
@Start | 1 | This is the Start date for which the inventory block update is being sent. | Arrival Date |
@End | 1 | This is the End date for which the inventory block update is being sent. | Departure Date |
@AbsoluteCutoff | 1 | Used to determine when the inventory block is released back into house inventory, it is going to sent the Cutoff date. |
|
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / RoomTypes |
| It allow to process the Multiple Rooms deatils. |
|
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / RoomTypes / RoomType | 1..n | Should be repeated for each room type that is part of the block as it will also contain allocations and rates for the specific room type. | One of each Room Type in the Transaction |
@RoomTypeCode | 1 | Mandatory. Room type codes of each room type used as part of the block. |
|
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / RoomTypes / RoomType / RoomTypeAllocations | 0..n |
| One element for each unique combination of allocation, which will be consolidated over the larges possible range of consecutive dates. |
@RoomTypePickUpStatus | 1 | RoomTypePickUpStatus have the code to send and each code have the meaning the code 1=Physical, 16=Group authorized , 4=Definite sold, 17=Group sold and if code is not matched with above then it will going to sent what code in the request to the PMS. | Type Physical/Group authorized will be send as 16, |
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / RoomTypes / RoomType / RoomTypeAllocations / RoomTypeAllocation | 0..n | The RoomTypeAllocation will process the request to update the Rate, SellLimit for the specific date | One element for each unique combination of allocation, which will be consolidated over the larges possible range of consecutive dates. |
@Start | 0..1 | This is the Start date for which the inventory block update is being sent for the RoomAllocation. |
|
@End | 0..1 | This is the End date for which the inventory block update is being sent for the RoomAllocation. |
|
@NumberOfUnits | 1 | Mandatory. Number of units of a specific type that are allocated as part of the inventory block. Comments have been submitted to Open Travel to allow 0 in this field. | (Blocked) for this room type. Same for all days in the range. |
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / RoomTypes / RoomType / RatePlans | 1..n | The RatePlans attributes include the all Rateplan Start date ,End Date Amount to be sent. |
|
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / RoomTypes / RoomType / RatePlans / RatePlan | 0..1 | RatePlanCode to being send to update the InventoryBlock request. |
|
@Start | 1 | This is the first day for which the inventory block update is being sent. | Arrival Date |
@End | 1 | This represent the last date for which the inventory block update is being sent. | Departure Date |
@CurrencyCode | 0..1 | This is the currency associated to the rate assigned to the block– it could be different to the currency loaded for the property. to sent the Deatils of the Revanue. |
|
@RatePlanCode | 1 | Mandatory. Rate plan used for the inventory block. If no further rate information is included, the rate plan code refers to rate plan information already passed using the OTA_HotelRatePlanNotifRQ message. |
|
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / RoomTypes / RoomType / RatePlans / RatePlan / BaseByGuestAmts |
| It contains the BaseByGuestAmts elements to send the rate element to endpoint. |
|
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / RoomTypes / RoomType / RatePlans / RatePlan / BaseByGuestAmts / BaseByGuestAmt | 1..n | Conditionally Mandatory. AT LEAST 1 INSTANCE FOR NUMBEROFGUESTS=1 is Mandatory if the rate information is being defined in the message. Must be repeated for all different type of occupancies of the specific room. We recommend that for varying rates by occupant should be implemented like this. |
|
@AmountBeforeTax | 1 | This elements have the Amount without any Tax and send to PMS. |
|
@NumberOfGuests | 1 | The NumberOfGuest Attribute indicates what type of rate is being passed – if NumberOfGuests is = 1 then we are transmitting a single rate, if higher than 1 then it is a double or full occupancy rate. |
|
@AgeQualifyingCode | 1 | AgeQualifyingCode - 8 = child, 10 = adult.
|
|
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / RoomTypes / RoomType / RatePlans / RatePlan / AdditionalGuestAmounts | 1..n | The AdditionalGuestAmounts elements have the data of the ExtraGuest amount for the Adul and Child and send to endpoint. |
|
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / RoomTypes / RoomType / RatePlans / RatePlan / AdditionalGuestAmount | 0..1 | Used to transfer extra adult and extra child amount for the Rateplan. |
|
@AgeQualifyingCode | 0..1 | AgeQualifyingCode - 8 = child, 10 = adult. |
|
@Amount | 0..1 | Send the ExtraAdult and Extrachild Amount to PMS. |
|
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / Contacts | 0..1 | This Contacts is an Array Elements send to ESB, which carrying the Contact details. If received in request from PMS then only will send. |
|
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / Contacts / Contact | 1..n | This may be used for multiple sets of contact information |
|
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / Contacts / Contact / PersonName | 1 | The PersonName elements will carry the Given Name ,MiddleName, Surname elements to send the Full PersonName details from the Request to ESB. |
|
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / Contacts / Contact / PersonName / GivenName | 1 | Given name or the first name |
|
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / Contacts / Contact / PersonName / Surname | 1 | the surname element may be used to pass the LastName or full name. |
|
OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / Contacts / Contact / Address | 1 | The Person Address is the Array element is sent to ESB with InventoryBlock message.is process |
|
OTA_HotelInvBlockNotifRQ Sample
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:htng="http://www.opentravel.org/OTA/2003/05">
<SOAP-ENV:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:MessageID>urn:uuid:8320</wsa:MessageID>
<htnga:CorrelationID xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders">urn:uuid:8320</htnga:CorrelationID>
<wsa:Action>http://htng.org/2014B/block_SubmitRequest</wsa:Action>
<wsa:To SOAP-ENV:mustUnderstand="1">http://localhost:8080/pmssoap/htng</wsa:To>
<wsa:ReplyTo>
<wsa:Address>http://www.w3.org/2005/08/addressing/role/anonymous</wsa:Address>
</wsa:ReplyTo>
<htnga:ReplyTo xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders">
<wsa:Address/>
</htnga:ReplyTo>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>username</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<OTA_HotelInvBlockNotifRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" EchoToken="8320" TimeStamp="2021-11-04T20:22:33.0263189Z" Version="1.0" >
<InvBlocks>
<InvBlock InvBlockCode="TESTCHARM" InvBlockLongName="TESTCHARM" InvBlockStatusCode="2" TransactionAction="Book">
<HotelRef HotelCode="TESTHotel" />
<InvBlockDates Start="2022-03-01" End="2022-03-04" AbsoluteCutoff="2022-03-04" />
<RoomTypes>
<RoomType RoomTypeCode="BDBL">
<RoomTypeAllocations RoomTypePickUpStatus="16">
<RoomTypeAllocation Start="2022-03-01" End="2022-03-01" NumberOfUnits="10" />
<RoomTypeAllocation Start="2022-03-02" End="2022-03-02" NumberOfUnits="10" />
<RoomTypeAllocation Start="2022-03-03" End="2022-03-03" NumberOfUnits="10" />
</RoomTypeAllocations>
<RoomTypeAllocations RoomTypePickUpStatus="17">
<RoomTypeAllocation Start="2022-03-01" End="2022-03-01" NumberOfUnits="0" />
<RoomTypeAllocation Start="2022-03-02" End="2022-03-02" NumberOfUnits="0" />
<RoomTypeAllocation Start="2022-03-03" End="2022-03-03" NumberOfUnits="0" />
</RoomTypeAllocations>
<RatePlans>
<RatePlan Start="2022-03-01" End="2022-03-01" CurrencyCode="USD" RatePlanCode="BAR">
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="175" NumberOfGuests="1" AgeQualifyingCode="10" />
<BaseByGuestAmt AmountBeforeTax="175" NumberOfGuests="2" AgeQualifyingCode="10" />
<BaseByGuestAmt AmountBeforeTax="185" NumberOfGuests="3" AgeQualifyingCode="10" />
<BaseByGuestAmt AmountBeforeTax="195" NumberOfGuests="4" AgeQualifyingCode="10" />
</BaseByGuestAmts>
<AdditionalGuestAmounts>
<AdditionalGuestAmount AgeQualifyingCode="10" Amount="10" />
</AdditionalGuestAmounts>
</RatePlan>
</RatePlans>
</RoomType>
<RoomType RoomTypeCode="BSGL">
<RoomTypeAllocations RoomTypePickUpStatus="16">
<RoomTypeAllocation Start="2022-03-01" End="2022-03-01" NumberOfUnits="6" />
<RoomTypeAllocation Start="2022-03-02" End="2022-03-02" NumberOfUnits="6" />
<RoomTypeAllocation Start="2022-03-03" End="2022-03-03" NumberOfUnits="6" />
</RoomTypeAllocations>
<RoomTypeAllocations RoomTypePickUpStatus="17">
<RoomTypeAllocation Start="2022-03-01" End="2022-03-01" NumberOfUnits="0" />
<RoomTypeAllocation Start="2022-03-02" End="2022-03-02" NumberOfUnits="0" />
<RoomTypeAllocation Start="2022-03-03" End="2022-03-03" NumberOfUnits="0" />
</RoomTypeAllocations>
<RatePlans>
<RatePlan Start="2022-03-01" End="2022-03-01" CurrencyCode="USD" RatePlanCode="BAR">
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="175" NumberOfGuests="1" AgeQualifyingCode="10" />
<BaseByGuestAmt AmountBeforeTax="175" NumberOfGuests="2" AgeQualifyingCode="10" />
<BaseByGuestAmt AmountBeforeTax="185" NumberOfGuests="3" AgeQualifyingCode="10" />
<BaseByGuestAmt AmountBeforeTax="195" NumberOfGuests="4" AgeQualifyingCode="10" />
</BaseByGuestAmts>
<AdditionalGuestAmounts>
<AdditionalGuestAmount AgeQualifyingCode="10" Amount="10" />
</AdditionalGuestAmounts>
</RatePlan>
</RatePlans>
</RoomType>
<RoomType RoomTypeCode="2BRK">
<RoomTypeAllocations RoomTypePickUpStatus="16">
<RoomTypeAllocation Start="2022-03-01" End="2022-03-01" NumberOfUnits="1" />
<RoomTypeAllocation Start="2022-03-02" End="2022-03-02" NumberOfUnits="1" />
<RoomTypeAllocation Start="2022-03-03" End="2022-03-03" NumberOfUnits="1" />
</RoomTypeAllocations>
<RoomTypeAllocations RoomTypePickUpStatus="17">
<RoomTypeAllocation Start="2022-03-01" End="2022-03-01" NumberOfUnits="0" />
<RoomTypeAllocation Start="2022-03-02" End="2022-03-02" NumberOfUnits="0" />
<RoomTypeAllocation Start="2022-03-03" End="2022-03-03" NumberOfUnits="0" />
</RoomTypeAllocations>
<RatePlans>
<RatePlan Start="2022-03-01" End="2022-03-01" CurrencyCode="USD" RatePlanCode="BAR">
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="295" NumberOfGuests="1" AgeQualifyingCode="10" />
<BaseByGuestAmt AmountBeforeTax="295" NumberOfGuests="2" AgeQualifyingCode="10" />
<BaseByGuestAmt AmountBeforeTax="305" NumberOfGuests="3" AgeQualifyingCode="10" />
<BaseByGuestAmt AmountBeforeTax="315" NumberOfGuests="4" AgeQualifyingCode="10" />
</BaseByGuestAmts>
<AdditionalGuestAmounts>
<AdditionalGuestAmount AgeQualifyingCode="10" Amount="10" />
</AdditionalGuestAmounts>
</RatePlan>
</RatePlans>
</RoomType>
<RoomType RoomTypeCode="STE">
<RoomTypeAllocations RoomTypePickUpStatus="16">
<RoomTypeAllocation Start="2022-03-01" End="2022-03-01" NumberOfUnits="1" />
<RoomTypeAllocation Start="2022-03-02" End="2022-03-02" NumberOfUnits="1" />
<RoomTypeAllocation Start="2022-03-03" End="2022-03-03" NumberOfUnits="1" />
</RoomTypeAllocations>
<RoomTypeAllocations RoomTypePickUpStatus="17">
<RoomTypeAllocation Start="2022-03-01" End="2022-03-01" NumberOfUnits="0" />
<RoomTypeAllocation Start="2022-03-02" End="2022-03-02" NumberOfUnits="0" />
<RoomTypeAllocation Start="2022-03-03" End="2022-03-03" NumberOfUnits="0" />
</RoomTypeAllocations>
<RatePlans>
<RatePlan Start="2022-03-01" End="2022-03-01" CurrencyCode="USD" RatePlanCode="BAR">
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="500" NumberOfGuests="1" AgeQualifyingCode="10" />
<BaseByGuestAmt AmountBeforeTax="500" NumberOfGuests="2" AgeQualifyingCode="10" />
<BaseByGuestAmt AmountBeforeTax="500" NumberOfGuests="3" AgeQualifyingCode="10" />
<BaseByGuestAmt AmountBeforeTax="500" NumberOfGuests="4" AgeQualifyingCode="10" />
</BaseByGuestAmts>
<AdditionalGuestAmounts>
<AdditionalGuestAmount AgeQualifyingCode="10" Amount="10" />
</AdditionalGuestAmounts>
</RatePlan>
</RatePlans>
</RoomType>
<RoomType RoomTypeCode="ADAK">
<RoomTypeAllocations RoomTypePickUpStatus="16">
<RoomTypeAllocation Start="2022-03-01" End="2022-03-01" NumberOfUnits="1" />
<RoomTypeAllocation Start="2022-03-02" End="2022-03-02" NumberOfUnits="1" />
<RoomTypeAllocation Start="2022-03-03" End="2022-03-03" NumberOfUnits="1" />
</RoomTypeAllocations>
<RoomTypeAllocations RoomTypePickUpStatus="17">
<RoomTypeAllocation Start="2022-03-01" End="2022-03-01" NumberOfUnits="0" />
<RoomTypeAllocation Start="2022-03-02" End="2022-03-02" NumberOfUnits="0" />
<RoomTypeAllocation Start="2022-03-03" End="2022-03-03" NumberOfUnits="0" />
</RoomTypeAllocations>
<RatePlans>
<RatePlan Start="2022-03-01" End="2022-03-01" CurrencyCode="USD" RatePlanCode="BAR">
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="195" NumberOfGuests="1" AgeQualifyingCode="10" />
<BaseByGuestAmt AmountBeforeTax="195" NumberOfGuests="2" AgeQualifyingCode="10" />
<BaseByGuestAmt AmountBeforeTax="205" NumberOfGuests="3" AgeQualifyingCode="10" />
<BaseByGuestAmt AmountBeforeTax="215" NumberOfGuests="4" AgeQualifyingCode="10" />
</BaseByGuestAmts>
<AdditionalGuestAmounts>
<AdditionalGuestAmount AgeQualifyingCode="10" Amount="10" />
</AdditionalGuestAmounts>
</RatePlan>
</RatePlans>
</RoomType>
</RoomTypes>
<Contacts>
<Contact>
<PersonName>
<GivenName>Tony</GivenName>
<Surname>Example</Surname>
</PersonName>
<Address />
</Contact>
</Contacts>
</InvBlock>
</InvBlocks>
</OTA_HotelInvBlockNotifRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
OTA_HotelInvBlockNotifRS Sample
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:To SOAP-ENV:mustUnderstand="1">http://www.w3.org/2005/08/addressing/role/anonymous</wsa:To>
<wsa:Action>http://htng.org/2014B/blockResponse</wsa:Action>
<wsa:MessageID>urn:uuid:c0d16b83-5c64-45d3-afc0-e15961bc81ea</wsa:MessageID>
<wsa:RelatesTo>urn:uuid:msi.8867.B</wsa:RelatesTo>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns3:OTA_HotelInvBlockNotifRS xmlns:ns3="http://www.opentravel.org/OTA/2003/05" Version="1.0">
<ns3:Success/>
</ns3:OTA_HotelInvBlockNotifRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>