Removing Inventory

If a property/itinerary combination is unavailable, you can remove it with a Transaction message. You typically use this option when a hotel is full booked for a given night (or series of nights). You can remove an entire hotel's inventory (for all rooms/itineraries) by using a QueryControl message.

These methods are described in the sections that follow.

Removing inventory with a Transaction message

To immediately remove specific property/itineraries from inventory, use Transaction messages. In the message, specify the following settings for each itinerary you want to remove (in the <Result> element):

  1. Set <Baserate> to -1
  2. Set <Taxes> to 0
  3. Set <OtherFees> to 0

The following example removes several itineraries (1-night stays for several different dates) for hotel "1123581321" from inventory:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2015-06-07T20:44:56-04:00" id="TXNID">
  <Result>
    <Property>1123581321</Property>
    <Checkin>2016-06-07</Checkin>
    <Nights>1</Nights>
    <Baserate currency="USD">-1</Baserate>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>
  </Result>
  <Result>
    <Property>1123581321</Property>
    <Checkin>2016-06-08</Checkin>
    <Nights>1</Nights>
    <Baserate currency="USD">-1</Baserate>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>
  </Result>
  <Result>
    <Property>1123581321</Property>
    <Checkin>2016-06-09</Checkin>
    <Nights>1</Nights>
    <Baserate currency="USD">-1</Baserate>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>
  </Result>
</Transaction>

As this example shows, you must explicitly set the <Baserate> element to -1 for each itinerary (combinations of check-in dates and number of nights) for which the room is unavailable. In addition, you must set the <Taxes> and <OtherFees> to 0.

For more information, see Transaction Messages.

To remove a Room Bundle, do not set the <RoomBundle> element's <Baserate> to -1. Instead, delete the <RoomBundle> element from the <Result>. For more information, see Updating Room Bundles.

Removing all itineraries with a QueryControl message

To remove all itineraries for one or more hotels, you can use a <PropertyOverride> block in a QueryControl message. Set the value of the <State> element to "disabled".

You typically use the QueryControl file to remove a hotel entirely from your feed and not as a general means of updating that hotel's inventory. Using this method has the same effect as setting the hotel's <Baserate> element to -1 for all itineraries for that hotel.

The following example removes properties "060773" and "072371" from inventory:

<?xml version="1.0" encoding="UTF-8"?>
<QueryControl>
  <ItineraryCapabilities>
    ...
    <PropertyOverride>
      <State>disabled</State>
      <Property>060773</Property>
      <Property>072371</Property>
    </PropertyOverride>
  </ItineraryCapabilities>
</QueryControl>

For more information, see QueryControl Messages.