Stay organized with collections
Save and categorize content based on your preferences.
If a property or itinerary combination is unavailable, you can remove it with a
Transaction message.
You typically use this option when a hotel is fully booked for a given night
or series of nights.
Remove inventory with a Transaction message
To remove specific property or itineraries from inventory, use a Transaction
message in the root element <Transaction>.
In the Transaction message, specify the following settings for each itinerary
you want to remove in the <Result> element:
Set <Unavailable> with the reason child element, for example,<NoVacancy>.
Set <Taxes> to "0"
Set <OtherFees> to "0"
Optional: Set <Baserate> to "-1"
The following example removes several itineraries, for example, remove 1-night
stays for several different dates for hotel "1123581321" from inventory:
As this example shows, you must explicitly set the <Unavailable> with the
reason 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. Setting <Baserate> to -1 is optional.
To remove a Room Bundle, delete the <RoomBundle> element from the
<Result>.
All rights reserved. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-04-14 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-04-14 UTC."],[[["\u003cp\u003eUse Transaction messages to remove specific property or itinerary combinations from hotel inventory, typically when fully booked.\u003c/p\u003e\n"],["\u003cp\u003eWithin the Transaction message's \u003ccode\u003e<Result>\u003c/code\u003e element, indicate unavailability using \u003ccode\u003e<Unavailable>\u003c/code\u003e with a reason code (e.g., \u003ccode\u003e<NoVacancy>\u003c/code\u003e), set \u003ccode\u003e<Taxes>\u003c/code\u003e and \u003ccode\u003e<OtherFees>\u003c/code\u003e to 0, and optionally set \u003ccode\u003e<Baserate>\u003c/code\u003e to -1.\u003c/p\u003e\n"],["\u003cp\u003eEach unavailable itinerary (check-in date and number of nights) requires its own \u003ccode\u003e<Result>\u003c/code\u003e element within the Transaction message.\u003c/p\u003e\n"],["\u003cp\u003eTo remove a Room Bundle, simply delete the corresponding \u003ccode\u003e<RoomBundle>\u003c/code\u003e element from the \u003ccode\u003e<Result>\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Remove inventory\n\nIf a property or itinerary combination is unavailable, you can remove it with a\n[Transaction message](/hotels/hotel-prices/dev-guide/transaction-overview).\nYou typically use this option when a hotel is fully booked for a given night\nor series of nights.\n\nRemove inventory with a Transaction message\n-------------------------------------------\n\nTo remove specific property or itineraries from inventory, use a Transaction\nmessage in the root element [`\u003cTransaction\u003e`](../xml-reference/transaction-messages#Transaction).\n\nIn the Transaction message, specify the following settings for each itinerary\nyou want to remove in the `\u003cResult\u003e` element:\n\n1. Set `\u003cUnavailable\u003e` with the reason child element, for example,`\u003cNoVacancy\u003e`.\n2. Set `\u003cTaxes\u003e` to \"0\"\n3. Set `\u003cOtherFees\u003e` to \"0\"\n\n**Optional:** Set `\u003cBaserate\u003e` to \"-1\"\n\nThe following example removes several itineraries, for example, remove 1-night\nstays for several different dates for hotel \"1123581321\" from inventory: \n\n \u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n \u003cTransaction timestamp=\"2023-05-23T16:20:00-04:00\" id=\"42\"\u003e\n \u003cResult\u003e\n \u003cProperty\u003e1123581321\u003c/Property\u003e\n \u003cCheckin\u003e2023-05-23\u003c/Checkin\u003e\n \u003cNights\u003e1\u003c/Nights\u003e\n \u003cUnavailable\u003e\n \u003cNoVacancy/\u003e\n \u003c/Unavailable\u003e\n \u003cTax currency=\"USD\"\u003e0\u003c/Tax\u003e\n \u003cOtherFees currency=\"USD\"\u003e0\u003c/OtherFees\u003e\n \u003c/Result\u003e\n \u003cResult\u003e\n \u003cProperty\u003e1123581321\u003c/Property\u003e\n \u003cCheckin\u003e2023-05-24\u003c/Checkin\u003e\n \u003cNights\u003e1\u003c/Nights\u003e\n \u003cUnavailable\u003e\n \u003cNoVacancy/\u003e\n \u003c/Unavailable\u003e\n \u003cTax currency=\"USD\"\u003e0\u003c/Tax\u003e\n \u003cOtherFees currency=\"USD\"\u003e0\u003c/OtherFees\u003e\n \u003c/Result\u003e\n \u003c!---Sending \u003cBaserate\u003e is optional with \u003cUnavailable\u003e --\u003e\n \u003cResult\u003e\n \u003cProperty\u003e1123581321\u003c/Property\u003e\n \u003cCheckin\u003e2023-05-25\u003c/Checkin\u003e\n \u003cNights\u003e1\u003c/Nights\u003e\n \u003cBaserate currency=\"USD\"\u003e-1\u003c/Baserate\u003e\n \u003cUnavailable\u003e\n \u003cNoVacancy/\u003e\n \u003c/Unavailable\u003e\n \u003cTax currency=\"USD\"\u003e0\u003c/Tax\u003e\n \u003cOtherFees currency=\"USD\"\u003e0\u003c/OtherFees\u003e\n \u003c/Result\u003e\n \u003c/Transaction\u003e\n\nAs this example shows, you must explicitly set the `\u003cUnavailable\u003e` with the\nreason for *each itinerary* (combinations of check-in dates and number of\nnights) for which the room is unavailable. In addition, you must set the\n`\u003cTaxes\u003e` and `\u003cOtherFees\u003e` to 0. Setting `\u003cBaserate\u003e` to -1 is optional.\n\nTo remove a Room Bundle, delete the `\u003cRoomBundle\u003e` element from the\n`\u003cResult\u003e`.\n\nFor more information, see\n[Room Bundle removal](/hotels/hotel-prices/dev-guide/room-bundles#removing)."]]