Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
maxLevel3

Overview

The Inventory Block Count 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 for booking.

Once rooms are sold against the block, the synchronization of inventory blocks can be a complicated process. The Hotel Inventory Block Notification message tells the target system whether this is an initial announcement of a new inventory block, an update of an active (bookable) block, or a notification of a block that is no longer in effect and should be deactivated.

When a hotel system sends out a status message to notify other systems of the availability at the property, the Status Application Control uses the Inventory Block codes to determine the status of availability for the block.
The <OTA_HotelInvBlockNotifRS> returns a response to the Hotel Inventory Block Notification, indicating that the message was successfully processed. 

Business Rules

  • The RatePlanCode will be automatically created in the CRS for use with the block. Any rate plan codes specified by the PMS are ignored.

  • A Group block cannot be cancelled (deleted) once reservations have been made against it.

OTA_HotelInvBlockNotifRQ Elements & Attributes

...

Element | @Attribute

...

Num

...

Description/Contents

...

Origin | Value

...

OTA_HotelInvBlockNotifRQ  

...

 1  

...

Root element of the message.  

...

   

...

@EchoToken  

...

 0..1  

...

   

...

Unique number for every transaction

...

@TimeStamp  

...

 1  

...

Time of the transaction.

...

Time the message was assembled

...

@Version  

...

 1  

...

message notifies a booking source of the amount of inventory available at a specific hotel property. It allows the Property Management System and CRS to synchronize the number of inventory items available for sale between them.

When a new hotel is opened for the first time, the Inventory Notification message would be used to supply the reservation systems with descriptions of rooms in the hotel. The Inventory Count Notification is used to send base inventory levels by inventory code, (e.g., room type code) to establish the physical inventory count. An Inventory Notification should always precede an Inventory Count Notification to establish the existence of inventory codes in the reservation system.

The physical inventory is the basis by which availability is determined. However, additional calculations figure into assigning the inventory counts for availability. Availability is a commitment to sell a room at a specific rate or plan. Since the same rooms may be sold under different rate plans, a system may carry a discrete inventory or an inventory count in association with different rates. The superset of inventory may be greater than the physical count, with the actual number of rooms counted down when they are sold.

The Inventory Count Notification message can be used to communicate how many rooms are available to sell during a specific period to revenue management systems. A reservation system may choose not to synchronize with actual inventory numbers but rather with a threshold. Properties and booking sources need to agree on common thresholds, whether they are derived from virtual or real inventory, in addition to a way to accommodate overbooking.

Supported Operations

  • The PMS uses this message to update the CRS for property level inventory changes. (Sample 1)

  • The message has room type data.

  • The message has no rate plan data.

Business Rules

  • This message is only sent from the PMS to the CRS.

  • The InvTypeCode needs to exist in the CRS.

OTA_HotelInvCountNotifRQ Elements & Attributes

Element | @Attribute

Num

Description/Contents

Origin | Value

OTA_HotelInvCountNotifRQ

 1  

Root element of the message.  

   

@EchoToken  

 0..1  

   

Unique number for every transaction. Must be returned as part of the response to this message

@TimeStamp  

 1  

Time of the transaction.

Time the message was assembled

@Version  

 1  

Version is a mandatory attribute in OTA; therefore, it must remain Mandatory in HTNG to be able to use the same message.

4

1.000  

OTA_

HotelInvBlockNotifRQ

HotelInvCountNotifRQ /

InvBlocks

POS / Source  

 1  

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 to have meaning. For multiple sub block or attendee types, this could be repeated.

   

 @InvBlockStatusCode  

 0..1  

Refers to OTA IBS and indicates the status of the block (such as Tentative, Definite, etc.).

“2”  

@InvBlockCode  

 1  

String to identify the Block as a code using the Group system code convention.

   

@InvBlockLongName  

 0..1  

 This is the full name of the inventory block.  

Group name  

@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", “release” depending on Transaction Sub-Type  

OTA_HotelInvBlockNotifRQ  / InvBlocks / InvBlock / HotelRef

 1  

Not mandatory in OTA but is Mandatory in the HTNG recommendation. This is the element containing the code of the property whose inventory blocks are being updated.

   

@HotelCode  

 1  

Not mandatory in OTA but is Mandatory in the HTNG recommendation. This is the code of the property whose inventory blocks are being updated.

   

OTA_HotelInvBlockNotifRQ  / InvBlocks / InvBlock / InvBlockDates  

 1  

   

   

@Start  

 1  

Not mandatory in OTA but is Mandatory in the HTNG recommendation. This is the first day for which the inventory block update is being sent.

Arrival Date  

@End  

 1  

Not mandatory in OTA but is Mandatory in the HTNG recommendation. This represent the last date for which the inventory block update is being sent.

Departure Date  

@AbsoluteCutoff  

 0..1  

Used to determine when the inventory block is released back into house inventory.

Cutoff Date  

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

   

   

@RoomTypePickUpStatus

 0..1  

Ability to specify Inventory Count Type. (i.e. 1 Physical, 2 Definitive availability, 3 Tentative availability, 4 Definite sold, 5 Tentative sold)

   

OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / RoomTypes / RoomType / RoomTypeAllocations / RoomTypeAllocation

 0..n  

   

One element for each unique combination of allocation, which will be consolidated over the larges possible range of consecutive dates.

@Start  

 0..1  

Used in conjunction with END to determine different number of rooms of a specific type for different dates.

For this room type for the first day of the range.

@End  

 0..1  

Used in conjunction with START to determine different number of rooms of a specific type for different dates.

For this room type for the last day of the range.  

@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.

@CompRoomQuantity & @CompRoomFactor

 0..1  

Used to indicate whether a certain number of rooms are allocated as complimentary and whether they are subject to a certain number of rooms being booked first.  

       

OTA_HotelInvBlockNotifRQ /InvBlocks/InvBlock / RoomTypes / RoomType / RatePlans / RatePlan

 0..1  

   

   

@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.

   

@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.

   

OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / RoomTypes / RoomType / RatePlans / RatePlanBaseByGuestAmnts

 0..1  

   

   

OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / RoomTypes / RoomType / RatePlans / RatePlanBaseByGuestAmnts / 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.

   

@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.

   

@AmountBeforeTax or @AmountAfterTax  

 1  

Either @AmountBeforeTax or @AmountAfterTax is Mandatory for each @NumberOfGuests.
Partners must select whether to send
either the @AmountBeforeTax or
@AmountAfterTax (or both) attributes.

   

OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / RoomTypes / RoomType / RatePlans / RatePlan / AdditionalGuestAmounts / AdditionalGuestAmount

 0..n  

Used to transfer extra adult and extra child amount.  

        

@AgeQualifyingCode

 0..1  

 AgeQualifyingCode - 8 = child, 10 = adult.  

   

@Percent OR @Amount  

 0..1  

This is the percentage of the single rate that represents the child rate. Could also be expressed as fixed amount.

   

OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / MethodInfo

 0..1  

   

   

@BillingType  

 0..1  

BillingType is used to indicate charges to be billed to master account (enumeration).

   

@SignFoodAndBev  

 0..1  

SignFoodAndBev is a Boolean to indicate whether food and drinks should be billed to master account.

   

@ReservationMethodCode  

 0..1  

ReservationMethodCode indicates the method by which reservations are received.

   

OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / BlockDescriptions / BlockDescription

 0…9  

   

   

OTA_HotelInvBlockNotifRQ / InvBlocks / InvBlock / BlockDescriptions / BlockDescription / Text

   

   

   

OTA_HotelInvBlockNotifRQ / InvBlocks / Contacts / Contact

 1…9  

This element and its sub-elements can be repeated to include all contact information needed. It is down to implementing partners to agree which contacts would be captured by either system and which contacts should indeed be exchanged. At the very least the Group Organizer
details should be transferred.

Not mapped 

OTA_HotelInvBlockNotifRQ / InvBlocks / Contacts / Contact / PersonName

 0..1  

This element and sub-elements will be sent to transfer the name of contacts that are “INDIVIDUAL”. To transfer COMPANY/TA details, the OTA_HotelInvBlockNotifRQ / InvBlocks / Contacts / Contact / CompanyName path should be used as highlighted below.

OTA_HotelInvBlockNotifRQ  / InvBlocks / Contacts / Contact / PersonName / NamePrefix  

 0..1   

Optional but should be highly recommended by HTNG that partners use it if possible. This path is used to transmit the Contact’s details. This field would be used to pass the contact’s name Prefix.

  

OTA_HotelInvBlockNotifRQ / InvBlocks / Contacts / Contact / PersonName / GivenName  

 0..1  

This field would be used to pass the contact’s First name.  

OTA_HotelInvBlockNotifRQ / InvBlocks / Contacts / Contact / PersonName / MiddleName  

 0..1  

This field would be used to pass the contact’s Middle name.

OTA_HotelInvBlockNotifRQ / InvBlocks / Contacts / Contact / PersonName / Surname  

 1  

If a contact is passed then at least Surname must be passed. This field would be used to pass the contact’s Surname.

OTA_HotelInvBlockNotifRQ / InvBlocks / Contacts / Contact / CompanyName

 0..1  

This element and attributes will be sent to  transfer the name of contacts that are “Organizations”. To transfer individual details, the OTA_HotelInvBlockNotifRQ / InvBlocks / Contacts / Contact / PersonName path should be used as highlighted above.

@CompanyShortName  

 0..1  

Used to provide the Company common name.  

@Code  

 0..1  

Identifies the company by the company code.  

@CodeContext  

 0..1  

Identifies the context of the identifying code, such as DUNS, IATA, or internal code, SIC, etc.

OTA_HotelInvBlockNotifRQ / InvBlocks / Contacts / Contact / Telephone

 0..5  

This field would be used to pass the contact’s phone number and fax numbers.

@PhoneLocationType
@PhoneTechType
@CountryAccessCode
@Area City Code
@DefaultInd

 0  

The PhoneLocationType attribute refers to the OTA PLT code list and indicates where the phone number is based – the two codes to be used by HTNG are code 7 – Home and code 8 – Office.

The PhoneTechType attribute refers to the OTA PTT code list, and indicates which type of number is transmitted (phone versus fax). The two codes to be used by HTNG are code 1 –Voice and code 3 – Fax. 5-Mobile

CountryAccessCode and Area City Code should be Optional.If country code and area code are passed then they should not appear again in the PhoneNumber field.

DeafultInd is Optional and would indicate whether the phone number is the primary phone number for the profile.

@Phone Number

@FormattedInd

 1  

PhoneNumber contains the actual  as a string of max 32 characters and it is Mandatory. FormattedInd is Mandatory. If the partner can use Country and Area codes then
formattedInd would be set to NO. If the partner cannot use country and area code then entire number is passed in the
PhoneNumber field and FormattedInd it should be set to YES if the number needs to be parsed as there is a separation of the different parts or set to NO to indicate that the PhoneNumber filed contains the entire phone number without a specific format.

OTA_HotelInvBlockNotifRQ / InvBlocks / Contacts / Contact / Email

 0..1  

Optional. This field would be used to pass the contact’s email address.

@EmailType

@DefaultInd

 0..1  

The Email Type attribute uses the OTA code list EAT and indicates the type of email address provided (personal – code 1 versus business – code 2, in the case of the Guest details) and must be passed if more than one email address is passed. If only one email address is passed it can be
Optional. DeafultInd is Optional and would indicate
whether the email is the primary email for the profile.

OTA_HotelInvBlockNotifRQ /InvBlocks/Contacts/ Contact/Address

 0..1  

If a contact is passed then at least one address must be passed. This field would be used to pass the contact’s mail address.

OTA_HotelInvBlockNotifRQ / InvBlocks / Contacts / Contact / Address / AddressLine  

 0..5  

This field would be used to pass the contact’s address. More than one line can be sent.

OTA_HotelInvBlockNotifRQ / InvBlocks / Contacts / Contact / Address / CityName

 0..1  

This field would be used to pass the contact’s city.  

OTA_HotelInvBlockNotifRQ / InvBlocks / Contacts / Contact / Address / StateProv

   

   

@StateCode  

 0..1  

This field would be used to pass the contact’s State expressed in the Standard 2-8 characters code.

OTA_HotelInvBlockNotifRQ / InvBlocks / Contacts / Contact / Address / PostalCode

 0..1  

This field would be used to pass the  contact’s Postal/ZIP code.  

OTA_HotelInvBlockNotifRQ / InvBlocks / Contacts / Contact / Address / CountryName

 

   

 

@Code

 0..1

Optional. This field would be used to pass the contact’s Country expressed in the Standard ISO 3166 code.

OTA_HotelInvBlockNotifRQ Sample Group Add Message

Code Block
languagexml
<OTA_HotelInvBlockNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLXSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelInvBlockNotifRQ.xsd" Version="4.000" TimeStamp="2010-12-23T12:53:54.19">
	<InvBlocks>
		<InvBlock InvBlockStatusCode="2" TransactionAction="Book" InvBlockCode="30010000087" InvBlockLongName="CONFERENCE CHRISTMAS 2010">
			<HotelRef HotelCode="16886"/>
			<InvBlockDates Start="2010-12-23" End="2010-12-25" AbsoluteCutOff="2010-12-22"/>
			<RoomTypes>
				<RoomType RoomTypeCode="CSUITE">
					<RoomTypeAllocations RoomTypePickUpStatus="1">
						<RoomTypeAllocation Start="2010-12-23" End="2010-12-25" NumberOfUnits="1" SellLimit="1"/>
					</RoomTypeAllocations>
					<RatePlans>
						<RatePlan Start="2010-12-23" End="2010-12-25" CurrencyCode="USD" RatePlanCode="30010000087">
							<BaseByGuestAmts>
								<BaseByGuestAmt AmountBeforeTax="300.00" NumberOfGuests="1" AgeQualifyingCode="10"/>
								<BaseByGuestAmt AmountBeforeTax="300.00" NumberOfGuests="2" AgeQualifyingCode="10"/>
								<BaseByGuestAmt AmountBeforeTax="300.00" NumberOfGuests="3" AgeQualifyingCode="10"/>
								<BaseByGuestAmt AmountBeforeTax="300.00" NumberOfGuests="4" AgeQualifyingCode="10"/>
							</BaseByGuestAmts>
							<AdditionalGuestAmounts>
								<AdditionalGuestAmount AgeQualifyingCode="10" Amount="100.00"/>
								<AdditionalGuestAmount AgeQualifyingCode="8" Amount="20.00"/>
							</AdditionalGuestAmounts>
						</RatePlan>
					</RatePlans>
				</RoomType>
				<RoomType RoomTypeCode="KING">
					<RoomTypeAllocations RoomTypePickUpStatus="1">
						<RoomTypeAllocation Start="2010-12-23" End="2010-12-25" NumberOfUnits="2" SellLimit="2"/>
					</RoomTypeAllocations>
					<RatePlans>
						<RatePlan Start="2010-12-23" End="2010-12-25" CurrencyCode="USD" RateTier="1" RatePlanCode="30010000087">
							<BaseByGuestAmts>
								<BaseByGuestAmt AmountBeforeTax="170.00" NumberOfGuests="1" AgeQualifyingCode="10"/>
								<BaseByGuestAmt AmountBeforeTax="170.00" NumberOfGuests="2" AgeQualifyingCode="10"/>
								<BaseByGuestAmt AmountBeforeTax="170.00" NumberOfGuests="3" AgeQualifyingCode="10"/>
								<BaseByGuestAmt AmountBeforeTax="170.00" NumberOfGuests="4" AgeQualifyingCode="10"/>
							</BaseByGuestAmts>
							<AdditionalGuestAmounts>
								<AdditionalGuestAmount AgeQualifyingCode="10" Amount="20.00"/>
								<AdditionalGuestAmount AgeQualifyingCode="8" Amount="10.00"/>
							</AdditionalGuestAmounts>
						</RatePlan>
					</RatePlans>
				</RoomType>
				<RoomType RoomTypeCode="KN">
					<RoomTypeAllocations RoomTypePickUpStatus="1">
						<RoomTypeAllocation Start="2010-12-23" End="2010-12-25" NumberOfUnits="2" SellLimit="2"/>
					</RoomTypeAllocations>
					<RatePlans>
						<RatePlan Start="2010-12-23" End="2010-12-25" CurrencyCode="USD" RateTier="1" RatePlanCode="30010000087">
							<BaseByGuestAmts>
								<BaseByGuestAmt AmountBeforeTax="170.00" NumberOfGuests="1" AgeQualifyingCode="10"/>
								<BaseByGuestAmt AmountBeforeTax="170.00" NumberOfGuests="2" AgeQualifyingCode="10"/>
								<BaseByGuestAmt AmountBeforeTax="170.00" NumberOfGuests="3" AgeQualifyingCode="10"/>
								<BaseByGuestAmt AmountBeforeTax="170.00" NumberOfGuests="4" AgeQualifyingCode="10"/>
							</BaseByGuestAmts>
							<AdditionalGuestAmounts>
								<AdditionalGuestAmount AgeQualifyingCode="10" Amount="20.00"/>
								<AdditionalGuestAmount AgeQualifyingCode="8" Amount="10.00"/>
							</AdditionalGuestAmounts>
						</RatePlan>
					</RatePlans>
				</RoomType>
				<RoomType RoomTypeCode="QQPRM">
					<RoomTypeAllocations RoomTypePickUpStatus="1">
						<RoomTypeAllocation Start="2010-12-23" End="2010-12-25" NumberOfUnits="2" SellLimit="2"/>
					</RoomTypeAllocations>
					<RatePlans>
						<RatePlan Start="2010-12-23" End="2010-12-25" CurrencyCode="USD" RateTier="1" RatePlanCode="30010000087">
							<BaseByGuestAmts>
								<BaseByGuestAmt AmountBeforeTax="170.00" NumberOfGuests="1" AgeQualifyingCode="10"/>
								<BaseByGuestAmt AmountBeforeTax="170.00" NumberOfGuests="2" AgeQualifyingCode="10"/>
								<BaseByGuestAmt AmountBeforeTax="170.00" NumberOfGuests="3" AgeQualifyingCode="10"/>
								<BaseByGuestAmt AmountBeforeTax="170.00" NumberOfGuests="4" AgeQualifyingCode="10"/>
							</BaseByGuestAmts>
							<AdditionalGuestAmounts>
								<AdditionalGuestAmount AgeQualifyingCode="10" Amount="20.00"/>
								<AdditionalGuestAmount AgeQualifyingCode="8" Amount="10.00"/>
							</AdditionalGuestAmounts>
						</RatePlan>
					</RatePlans>
				</RoomType>
				<RoomType RoomTypeCode="QUEEN">
					<RoomTypeAllocations RoomTypePickUpStatus="1">NumberOfUnits="2" SellLimit="2"/>
						<RoomTypeAllocation Start="2010-12-23" End="2010-12-25"</RoomTypeAllocations>
					<RatePlans>
						<RatePlan Start="2010-12-23" End="2010-12-25" CurrencyCode="USD" RateTier="1" RatePlanCode="30010000087">
							<BaseByGuestAmts>
								<BaseByGuestAmt AmountBeforeTax="170.00" NumberOfGuests="1" AgeQualifyingCode="10"/>
								<BaseByGuestAmt AmountBeforeTax="170.00" NumberOfGuests="2" AgeQualifyingCode="10"/>
								<BaseByGuestAmt AmountBeforeTax="170.00" NumberOfGuests="3" AgeQualifyingCode="10"/>
								<BaseByGuestAmt AmountBeforeTax="170.00" NumberOfGuests="4" AgeQualifyingCode="10"/>
							</BaseByGuestAmts>
							<AdditionalGuestAmounts>
								<AdditionalGuestAmount AgeQualifyingCode="10" Amount="20.00"/>
								<AdditionalGuestAmount AgeQualifyingCode="8" Amount="10.00"/>
							</AdditionalGuestAmounts>
						</RatePlan>
					</RatePlans>
				</RoomType>
			</RoomTypes>
			<BlockDescriptions>
				<BlockDescription>
					<Text>The is the block Description</Text>
				</BlockDescription>
			</BlockDescriptions>
			<Contacts>
				<Contact>
					<PersonName>
						<Surname>BOGUS III, MR SEAN</Surname>
					</PersonName>
					<Telephone FormattedInd="false" PhoneNumber="316 555 1212" PhoneTechType="1"/>
					<Telephone FormattedInd="false" PhoneNumber="316 555 1200" PhoneTechType="3"/>
					<Address>
						<AddressLine>1907 N Murdock</AddressLine>
						<AddressLine>Suite 200A</AddressLine>
						<CityName>Wichita</CityName>
						<PostalCode>67208</PostalCode>
						<StateProv StateCode="KS"/>
						<CountryName Code="US"/>
					</Address>
				</Contact>
			</Contacts>
		</InvBlock>
	</InvBlocks>
</OTA_HotelInvBlockNotifRQ>

OTA_HotelInvBlockNotifRQ Sample Cancel Block Message

...

languagexml

...

Optional. This holds details regarding the requestor. It may be repeated to also accommodate the delivery systems.

Not mapped

OTA_HotelInvCountNotifRQ / POS / Source / RequestorID

 1  

The system sending the request message. An identifier of the entity making the request (e.g. ATA/IATA/ID number, Electronic Reservation Service
Provider (ERSP), Association of British Travel Agents (ABTA)).

   

@Type  

 1  

Type attribute uses the OTA code list UIT. For example, type 22 – ERSP (Electronic reservation service provider).

   

@ID  

 1  

ID is used for the name or ID of the requestor. For example, SynXis.

   

OTA_HotelInvCountNotifRQ / Inventories

 1  

A collection of Inventory. Hotel identification information are the attributes of this element.

   

@ChainCode  

 0..1  

Optional. The chain code for which the availability request is for.

   

@BrandCode  

 0..1  

Optional. The Brand Code for which the availability request is for.

Not mapped  

@HotelCode  

 1  

This is the code of the property whose availability is being requested.

Property Code of transaction 

OTA_HotelInvCountNotifRQ / Inventories / Inventory  

 1..n  

This is the inventory information for a given rate plan, room type, date, etc

   

OTA_HotelInvCountNotifRQ / Inventories / Inventory / StatusApplicationControl

 0..n  

Information on what the InvCountNotif Message applies to (i.e. the combination of inventory and/or rate codes) and the period of application.

   

@Start, @End  

 1  

The first and last dates for which the availability update is being sent

   

@Mon,@Tue,@Weds, @Thur,@Fri,@Sat,@Sun

 0..1  

The day of the week indicators are used to communicate which days of the week the update pertains to. If one is sent they must all be sent.

   

 @AllInvCode  

 0..1  

When true indicates that the data transmitted is for total inventory in the hotel. This field is required if @InvTypeCode is not set.

   SHR does not support AllInvCode

 @InvTypeCode  

 0..1  

This is the room type code for which the update is being sent. This field is required if @AllInvCode= ”false” or missing. This field should not be sent if
@AllInvCode= ”true”

   

 @InvBlockCode  

 0..1  

Code that identifies an inventory block  

   

 @RatePlanCode  

 0..1  

Code that identifies the rate plan associated with an inventory block.

   

OTA_HotelInvCountNotifRQ  / Inventories / Inventory / InvCounts  

 0..1  

A collection of inventory counts.  

   

OTA_HotelInvCountNotifRQ / Inventories / Inventory / InvCounts / InvCount

 1..n  

Individual inventory count (e.g. Physical, Available, Sold, OOO, NAFS).

   

@CountType

 1  

This identifies the type of inventory count being reported. Refer to OpenTravel Code List Inventory Count Type (INV).

1 Physical
2 Definitive availability
3 Tentative availability
4 Definite sold

6 Out of order
8 Out of inventory

16 Group authorized
17 Group sold
18 Group available

99 Oversell count

AT this time, count type ‘1’ and ‘99’ are the only type supported by the CRS. Wave RMS however can also support CountType “8”

CountType 1 should represent number of remaining rooms hotel has available to sell for each room type.

If sending “99” for oversell, the amount of oversell should not also be included in the totals provided for count type”1”.

Example: Hotel has 50 physical rooms available but would like to allow an oversell of 5.

CountType=”1” Count=”50”

CountType=”99” Count=”5”

If the PMS adds available oversell to physical rooms, then only CountType=1 should be sent (CountType=”1” Count=”55”)

It is prefered to send both CountType 1 and 99 however.

@Count  

 1  

 Number of rooms of this type  

   

OTA_HotelInvCountNotifRQ / Inventories / Inventory / UniqueID  

 0  

Used in response message in the case of an error to indicate which node failed.

   

@Type  

 0  

Type refers to OTA code list UIT – nr 16 =  Reference. This is used to identify each single availability status message for error reporting purposes.

   

@ID  

 0  

ID is a unique incremental number for each availability message that identifies that specific message.

   

OTA_HotelInvCountNotifRQ Sample Inventory Update Message

Code Block
languagexml
<OTA_HotelInvCountNotifRQ xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05/OTA_HotelInvCountNotifRQ.xs d" Version="2.000" TimeStamp="2021-12-20T21:02:59+08:00" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <Inventories HotelCode="SAMPLE">
                <Inventory>
                    <StatusApplicationControl Start="2021-12-24" End="2021-12-25" InvTypeCode="ChainRoom2"/>
                    <UniqueID Type="16" ID="1"/>
                    <InvCounts>
                        <InvCount CountType="1" Count="20" />
                        <InvCount CountType="99" Count="10" />
                    </InvCounts>
                </Inventory>
            </Inventories>
        </OTA_HotelInvCountNotifRQ>

OTA_HotelInvCountNotifRS Elements & Attributes

Element | @Attribute

Num

Description/Contents

Origin | Value

OTA_HotelInvCountNotifRQ

 1  

Root element of the message.  

   

@EchoToken  

 0..1  

Optional

@TimeStamp  

 1  

Time of the transaction.

@Version  

 1  

Version is a mandatory attribute in OTA; therefore, it must remain Mandatory in HTNG to be able to use the same message.

1.000  

OTA_HotelInvCountNotifRS / Success  

 1  

This is the annotation that the availability request was received successfully. It could be combined with warning messages if some of the messages in the
batch had issues

OTA_HotelInvCountNotifRS / Warnings  

 1..n  

   

@ Type  

 1  

Refers to OTA EWT list (error warning type).

@ Code  

 0..1  

Optional. Refers to OTA list ERR. Should be used wherever possible  

@ RecordID

 0..1  

If the receiving system can identify within a batch of availability status messages which specific message failed, the UniqueID of the message should be
reported here.

OTA_HotelInvCountNotifRS / Errors  

 1  

Errors are returned if the request was unable to be processed.

@ Type

 1  

Mandatory in OTA. Refers to OTA EWT list (error warning type).  

@ Code

 0..1  

Optional. Refers to OTA list ERR. Should be used wherever possible

@ RecordID

0..1

If the receiving system can identify within a batch of availability status messages which specific message failed, the UniqueID of the message should be reported here.

OTA_HotelInvCountNotifRS Sample Inventory Response Message

Code Block
languagexml
<OTA_HotelInvCountNotifRS xmlns:xsi="http://www.w3.org/2001/XMLSchemainstanceXMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05/ OTA_HotelInvBlockNotifRQ.xsd" TimeStamp="2010-12- 23T12:53:54.19" Version="1.00">
	<InvBlocks>
		<InvBlock BookingStatus="Close" InvBlockCode="GRPINV001" TransactionAction="cancel">
			<HotelRef ChainCode="SW" HotelCode="00000" HotelName="The Westin" />
		</InvBlock>
	</InvBlocks>HotelInvCountNotifRS.xsd" TimeStamp="2004-05-01T06:39:09" Target="Production" Version="1.002">
	<Success/>
</OTA_HotelInvBlockNotifRQ>HotelInvCountNotifRS>

  

Inventory Counts
Page Properties
hiddentrue

Method

<OTA_HotelInvCountNotifRQ/RS>

Summary

Message Direction

Inbound

SHR Application

Windsurfer™ CRS, Wave™ RMS

Revision

v1

v3.0