Last updated

Managing promotions

Use the Promotions API to create and manage promotions for an individual property.

Use the promotions endpoint to:

Active promotions with book/stay dates in the past

If all of a promotion's active stay dates have passed and there are no upcoming stay dates, the promotion is marked as 'Active' but it is not bookable. Update the promotion and add upcoming stay dates to make it bookable again.

What are promotion types?

Each promotion type has a distinct way to attract customers and drive occupancy and revenue, by allowing you to be more price competitive on Booking.com for specific audiences and periods.

  • Basic deal: Fully customisable to suit your specific needs

  • Last-minute deal: A discount only available when booked closer to check-in – to help fill any empty rooms you have left

  • Early booker deal: A discount only available when booking long before check-in – to be better prepared with more bookings made earlier

  • Campaign deal: A seasonal sales event, with fixed bookable dates and stay dates. Properties offer a minimum discount (or more) and in exchange receive extra visibility from emails, push notifications, affiliate sites, graphics and landing pages on Booking.com and more, for the duration of the promotion

  • Country rate: A discount only available to customers booking from a specific country or region. Booking.com supports a list of predefined geolocations

  • Mobile rate: A device-specific discount only available to customers booking from a mobile device (mobile web or the Booking.com app)

Promotion details

Depending on the promotion type, you can select (among other things):

  • Dates the promotion can be booked
  • Specific time of day the promotion can be booked
  • Stay dates
  • Room types
  • Rate plans the promotion will base its discount on
  • How many days (or hours) before check-in a guest can receive a last-minute discount
  • How many days in advance a guest must book to receive an early booker discount
  • Specific regions and countries you offer the discount to
  • Mobile device-specific discounts

For promotion types other than geo_rate and mobile_rate, you can also choose whether the promotion is available to [all guests, or only certain guests][#target-promotions-to-specific-audience].

Creating promotions

POST
https://supply-xml.booking.com/hotels/xml/promotions

When creating a promotion, the mandatory list of request parameters varies depending on the promotion type. The following subsections help you create promotions using the various promotion types:

All newly created or updated promotions are marked as active

A promotion is marked active whenever it is created or updated irrespective of whether the bookable/stay dates are current or in the past.

Creating a basic deal

Use this promotion type to create a fully customisable promotion and specify a discount on selected rooms and the original rate plan

Sample request

The following request creates a basic deal:

<request>
   <hotel_id>12312</hotel_id>
    <promotion
        name="Summer Promotion"
        type="basic"
        target_channel="public"
        min_stay_through="3"
        non_refundable="0">
        <book_date start="2024-05-14" end="2024-07-31" />
        <book_time start="11" end="13" />
        <stay_date start="2024-06-06" end="2024-06-29">
            <active_weekdays>
               <active_weekday>Thu</active_weekday>
           </active_weekdays>
            <excluded_dates>
                <excluded_date>2024-06-15</excluded_date>
                <excluded_date>2024-06-16</excluded_date>
            </excluded_dates>
        </stay_date>
        <additional_dates>
            <additional_date>2024-07-18</additional_date>
            <additional_date>2024-07-20</additional_date>
        </additional_dates>
        <rooms>
            <room id="1423432"/>
            <room id="325436"/>
        </rooms>
        <parent_rates>
            <parent_rate id="756878"/>
            <parent_rate id="543754"/>
        </parent_rates>
        <discount value="10" />
    </promotion>
</request>

Request body

ElementAttributeDescriptionTypeOccurrencesNotes
requestRoot elementobject1..1-
hotel_idThe ID of the property to which the promotion applies.integer1..1You must have permission to edit the property.
promotion-object1..1-
promotionnameThe name of the promotion. This name is only for you: it does not appear on Booking.com.string1..1Must be 255 characters or less. This includes spaces.
promotiontypeThe type of promotion.string1..1Accepts: basic, last_minute, early_booker.
promotiontarget_channelDetermines who can see the promotion.string0..1Accepts: public, subscribers. Default: public
promotionmin_stay_throughThe minimum number of nights a guest must stay to be eligible for the promotion.integer0..1Possible values are 0-7. Selecting 0 means that the promotion will have the same minimum length of stay (MLOS) as its chosen rate plan(s). Selecting 1 means there is no MLOS for this promotion. Selecting 2-7 means the guest needs to stay at least that number of nights to get the promotion.
promotionnon_refundableThe guest won't receive any refund if they cancel.boolean0..1Accepts: 1 (non-refundable), 0 (refundable). Default: 0
book_dateThe date range the promotion will appear on Booking.com.-0..1If you don't specify book_date[@start] and book_date[@end], the promotion has no date restrictions.
book_datestartThe first date the promotion is available.date (YYYY-MM-DD)0..1Default: empty. book_date[@start] must be before book_date[@end]. You should also specify book_date[@end].
book_dateendThe last date the promotion is available.date (YYYY-MM-DD)0..1book_date[@end] must be after book_date[@start]. book_date[@end] must be on or before stay_date[@end]. You should also specify book_date[@start].
book_timeThe times of day (on dates specified in book_date) the promotion appears on Booking.com, in 24-hour format, in the property's timezone.object0..1If you don't specify book_time[@start] and/or book_time[@end], the promotion won't have any time of day restrictions.
book_timestartThe time of day (on dates specified in book_date) the promotion will appear on Booking.com, in 24-hour format, in the property's timezone.integer0..1Accepts: 024.
book_timeendThe time of day (on dates specified in book_date) the promotion will no longer appear on Booking.com, in 24-hour format, in the property's timezone.integer0..1Accepts: 024.
stay_dateThe range of dates during which guests must stay at the property to receive the promotion.object1..1-
stay_datestartThe first date of the range during which guests must stay at the property to receive the promotion.date (YYYY-MM-DD)1..1Must be less than or equal to stay_date[@end].
stay_dateendThe last date of the range during which guests must stay at the property to receive the promotion.date (YYYY-MM-DD)1..1Must be greater than or equal to stay_date[@start].
active_weekdaysThe days of the week (within the stay_date range) the guest must be staying at the property to receive the promotion.object0..1If you provide no active_weekday, the promotion applies to all days of the week.
active_weekdayA specific day of the week (within the stay_date range) the guest must be staying at the property to receive the promotion.string0..7Accepts: Sat, Sun, Mon, Tue, Wed, Thu, Fri.
excluded_datesA range of dates (within the stay_date range) during which guests staying at the property will not receive the promotion.object0..1Number of days in the date range should not exceed 30.
excluded_datesstartThe first date of the range (within the stay_date range) during which guests staying at the property will not receive the promotion.date (YYYY-MM-DD)0..1If you include this attribute, you must also include excluded_dates[@end].
excluded_datesendThe last date of the range (within the stay_date range) during which guests staying at the property will not receive the promotion.date (YYYY-MM-DD)0..1If you include this attribute, you must also include excluded_dates[@start].
excluded_dateA specific date (within the stay_date range) during which guests staying at the property will not receive the promotion.date (YYYY-MM-DD)0..*-
additional_datesA date range (outside the stay_date range) when guests staying at the property would receive the promotion.object0..1Number of days in the date range should not exceed 30 days.
additional_datesstartThe first date of a range (outside the stay_date range) when guests staying at the property would receive the promotion.date (YYYY-MM-DD)0..1If you include this attribute, you must also include additional_dates[@end].
additional_datesendThe last date of a range (outside the stay_date range) when guests staying at the property would receive the promotion.date (YYYY-MM-DD)0..1If you include this attribute, you must also include additional_dates[@start].
additional_dateAn individual date (outside the stay_date range) when guests staying at the property would receive the promotion.date (YYYY-MM-DD)0..*-
rooms-object1..1-
room-object1..*-
roomidA room type the promotion applies to.integer1..1The rooms must belong to the property you specified in hotel_id.
parent_rates-array of parent_rate1..1Important: See the note about parent_rates.
parent_rate-object1..*-
parent_rateidThe original rate the promotion is discounted from.integer1..1The rate must be active, and must belong to the property in hotel_id. Important: See the note about parent_rates.
discount-object1..1-
discountvalueThe percentage discounted from the parent_rate.integer1..1Accepts: 199. Note: If you use target_channel="subscribers" then the acceptable range is 10-99.

Target promotions to specific audience

Use the target_channel attribute to specify who can see the promotion. For promotion types basic, last_minute and early_booker, Booking.com supports the following values:

TypeValueDescription
One of the following:
basic, last_minute, early_booker
publicAll guests can see the promotion.
One of the following:
basic, last_minute, early_booker
subscribersOnly guests who subscribed to the Booking.com newsletter can see the promotion.

Important note about parent_rates

The Promotions API will apply a promotion to all rooms and rates specified in your request only if all rooms in the request are connected to all rates in the request. It will not create new roomrates.

Take the following example. Earlier, you sent two OTA_HotelProductNotif requests to create products with these room/rate combinations:

Product AProduct B
Room IDs00
1
Rate IDs1011
12

Then, you sent a promotions requests containing these lines:

<rooms>
  <room id="0"/>      
  <room id="1"/>    
</rooms>
<parent_rates>
  <parent_rate id="10"/>
  <parent_rate id="11"/>
  <parent_rate id="12"/>
</parent_rates>

The request will be successful, but the API will ignore the combination of room 1 and rate 10, because there is no product connecting them.

Sample response

<promotions>
    <id>TB449324213596220037</id>
</promotions>
<!-- RUID: [...] -->

If your request is successful, the API returns the ID of the newly created promotion. You must specify this ID when editing the promotion.

Response body parameters

ElementAttributeDescriptionTypeNotes
idThe updated promotion ID.stringDuring subsequent updates the id remains the same.

Creating a last-minute deal

Use this promotion type to attract last-minute bookers. This promotion type may help sell leftover rooms, max out your occupancy, and increase your visibility on mobile devices.

Sample request

The following request creates a last-minute deal:

<request>
   <hotel_id>12312</hotel_id>
    <promotion
        name="Winter Promotion"
        type="last_minute"
        target_channel="public"
        non_refundable="0"
        min_stay_through="3">
        <last_minute unit="hour" value="5"/>
        <book_time start="11" end="13" />
        <stay_date start="2024-06-06" end="2024-06-29">
            <active_weekdays>
               <active_weekday>Thu</active_weekday>
           </active_weekdays>
            <excluded_dates>
                <excluded_date>2024-06-15</excluded_date>
                <excluded_date>2024-06-16</excluded_date>
            </excluded_dates>
        </stay_date>
        <additional_dates>
            <additional_date>2024-07-18</additional_date>
            <additional_date>2024-07-20</additional_date>
        </additional_dates>
        <rooms>
            <room id="1423432"/>
            <room id="325436"/>
        </rooms>
        <parent_rates>
            <parent_rate id="756878"/>
            <parent_rate id="543754"/>
        </parent_rates>
        <discount value="10" />
    </promotion>
</request>

Request body parameters

The parameters for creating a last-minute deal are similar to creating a basic deal, except for the following:

ElementAttributeDescriptionTypeOccurrencesNotes
promotiontypeThe type of promotion.string1..1Should be last_minute.
last_minuteA promotion that can only be booked a specific number of days or hours before check-in.object1..1See the example below.
last_minuteunitThe unit of measurement (days or hours).string1..1Accepts: hour, day. To create promotions that are available only at the very last hour, use the hour value.
last_minutevalueThe maximum amount of time (in days or hours) before check-in the promotion can be booked.integer1..1Specify: 1 and higher.
If the value is set to 0, irrespective of the value set in unit, the API creates a last-minimum deal with a bookable period of 3 days and less.
book_date-object0..0This field is not relevant to this promotion type.

Last-minute deal type example

To create a last-minute deal for guests booking a stay within 2 days or fewer before their intended check-in, use these values:

<last_minute unit="day" value="2"/>

This promotion is only applied when a guest books two days or fewer before their intended check-in. The promotion is active from 2 days before check-in until 1 minute before check-in.

Sample response

See sample response for basic deal.

Response body parameters

ElementAttributeDescriptionTypeNotes
idThe promotion ID.stringWhen you create a promotion for the first time, the API generates a promotion id. During subsequent updates the id remains the same.

Creating an early booker deal

Use this promotion type to attract early bookers. This promotion may help fill the property's low-season rooms early.

Sample request

The following request creates an early booker deal:

<request>
   <hotel_id>12312</hotel_id>
    <promotion
        name="Off-season Deal"
        type="early_booker"
        target_channel="public"
        non_refundable="0"
        min_stay_through="3">
        <early_booker value="15" />
        <book_time start="11" end="13" />
        <stay_date start="2024-06-06" end="2024-06-29">
            <active_weekdays>
               <active_weekday>Thu</active_weekday>
           </active_weekdays>
            <excluded_dates>
                <excluded_date>2024-06-15</excluded_date>
                <excluded_date>2024-06-16</excluded_date>
            </excluded_dates>
        </stay_date>
        <additional_dates>
            <additional_date>2024-07-18</additional_date>
            <additional_date>2024-07-20</additional_date>
        </additional_dates>
        <rooms>
            <room id="1423432"/>
            <room id="325436"/>
        </rooms>
        <parent_rates>
            <parent_rate id="756878"/>
            <parent_rate id="543754"/>
        </parent_rates>
        <discount value="10" />
    </promotion>
</request>

Request body

The fields for an early booker deal are the same as for a basic deal, except for the following:

ElementAttributeDescriptionTypeOccurrencesNotes
promotiontypeType of the promotion.string1..1Should be early_booker.
early_booker-object1..1-
early_bookervalueThe minimum number of days in advance guests must book to receive the promotion.integer1..1-
book_date-object0..0This field is not relevant to this promotion type.
Promotion cannot start in the past.

The early_booker[@value] number counts backwards, in days, from stay_date start. Make sure the number you specify isn't larger than the difference between stay_date start and the day you created the promotion.
For example, creating an early booker deal for stay_date start="2025-06-01" on 2025-05-17 with early_booker value="20" returns an error, because counting backwards from stay_date start by that number of days passes the creation date.

Creating a campaign deal

Get extra visibility from emails, push notifications, affiliate websites, visuals on Booking.com and more, for the duration of any campaign you join.

  • Black Friday Deal
  • Early Year Deal
  • Getaway Deal
  • Late Escape Deal

Unlike other types of promotions, Marketing Campaigns must respect certain restrictions to be created (otherwise the creation requests will fail) and those restrictions are pertinent to each individual campaign. They are:

One more particularity about the Marketing Campaigns in relation to the other products is that you can only create or activate promotions of those types during the respective campaign sourcing period. It's also not possible to edit restrictions on a marketing campaign promotion once it's created (but you can always deactivate undesired promotions and create new ones).

Sample request

The following request creates a campaign deal for a specific campaign — in this example, a Black Friday Deal:

<request>
   <hotel_id>12312</hotel_id>
    <promotion
        name="Black Friday Deal"
        type="campaign_black_friday">
        <stay_date start="2025-08-16" end="2026-08-16">
            <active_weekdays>
               <active_weekday>Mon</active_weekday>
               <active_weekday>Tue</active_weekday>
               <active_weekday>Wed</active_weekday>
               <active_weekday>Thu</active_weekday>
           </active_weekdays>
            <excluded_dates>
                <excluded_date>2025-08-20</excluded_date>
                <excluded_date>2025-08-21</excluded_date>
            </excluded_dates>
        </stay_date>
        <additional_dates>
            <additional_date>2026-08-20</additional_date>
            <additional_date>2026-08-21</additional_date>
        </additional_dates>
        <rooms>
            <room id="1423432"/>
            <room id="325436"/>
        </rooms>
        <parent_rates>
            <parent_rate id="756878"/>
            <parent_rate id="543754"/>
        </parent_rates>
        <discount value="30" />
    </promotion>
</request>

Request body parameters

The parameters for creating a campaign deal are similar to creating a basic deal, except for the following:

ElementAttributeDescriptionTypeOccurrencesNotes
promotiontypeThe type of promotion.string1..1Should be one of the following: campaign_black_friday, campaign_early_year, campaign_getaway or campaign_late_escape.
promotiontarget_channel-string0..0This field is not relevant to this promotion type.
promotionmin_stay_through-integer0..0This field is not relevant to this promotion type.
promotionnon_refundable-boolean0..0This field is not relevant to this promotion type.
book_date-object0..0For campaign deals, bookable dates are pre-defined and cannot be changed, so this field is not relevant.
book_times-object0..0This field is not relevant to this promotion type.
Minimum discount required:
  • Getaway Deal: 15% or more
  • Late Escape Deal: 15% or more
  • Early Year Deal: 15% or more
  • Black Friday Deal: 30% or more
Stay dates must be between the campaign's first and last stay date

Minimum discount restriction: Different campaigns have different minimum discount requirements to be accepted. At the moment, the minimum discount needed for the promotions of types campaign_getaway, campaign_early_year and campaign_late_escape is 15%, while for the campaign_black_friday, it's 30%.

Stay dates restrictions: Any stay dates included in a marketing campaign promotion have to be inside the campaign's “stay window”.

Book dates restrictions: For marketing campaign promotions, book dates are pre-defined and cannot be overwritten or changed. They will be automatically filled based on the promotion type and don't need to be included in the promotion creation requests.

Sample response

See sample response for basic deal.

Response body parameters

ElementAttributeDescriptionTypeNotes
idThe promotion ID.stringWhen you create a promotion for the first time, the API generates a promotion id. During subsequent updates the id remains the same.

Creating a country rate

A country rate is a special, discounted rate that is only offered to customers from a specific region.

They are available to all customers from included regions, and apply to all room types, rates and dates except any which are specifically excluded. The discounted price can help to reach customers and increase revenue and bookings from a specific location.

Sample request

The following request creates a country rate promotion:

<request>
    <hotel_id>12312</hotel_id>
    <promotion
        type="geo_rate"
        target_channel="india_pos"
        min_stay_through="3">
        <stay_date>
            <excluded_dates>
                <excluded_date>2024-06-15</excluded_date>
                <excluded_date>2024-06-16</excluded_date>
            </excluded_dates>
        </stay_date>
        <parent_rates>
            <parent_rate id="756878"/>
            <parent_rate id="543754"/>
        </parent_rates>
        <early_booker value="15" />
        <discount value="15" />
    </promotion>
</request>

Request body

ElementAttributeDescriptionTypeOccurrencesNotes
promotiontypeType of the promotion.string1..1Should be geo_rate.
promotiontarget_channelDetermines who can see the promotion.string0..1To get a list of target_channel values, use the /xml/getpromotionchannels endpoint. Not all properties are eligible to use all target channels.
promotionmin_stay_throughThe minimum number of nights a guest must stay to be eligible for the promotion.integer0..1Accepts: 1–30.
discount-object1..1-
discountvalueThe percentage that will be deducted from the parent_rate.integer1..1Accepts: 530.
excluded_datesA range of dates during which guests staying at the property will not receive the promotion.object0..1Number of dates that can be excluded should not exceed 30 per year.
excluded_datesstartThe first date of the range during which guests staying at the property will not receive the promotion.date (YYYY-MM-DD)0..1If you include this attribute, you must also include excluded_dates[@end].
excluded_datesendThe final date of the range during which guests staying at the property will not receive the promotion.date (YYYY-MM-DD)0..1If you include this attribute, you must also include excluded_dates[@start].
excluded_dateAn individual date on which the promotion does not apply.date (YYYY-MM-DD)0..*-
parent_rates-array of parent_rate1..1-
parent_rate-object1..*-
parent_rateidSpecifies the rate to which the promotion must be applied.integer1..1The rate must be active and must belong to the property specified in hotel_id.
early_booker-object1..1Can not be used together with last_minute
early_bookervalueThe number of days guests must book in advance to get the discount from this promotion.integer1..1Accepts: 1–365.
last_minuteSpecifies the unit and value of time before guests check-in during which the promotion applies.object1..1Can not be used together with early_booker
last_minuteunitThe unit of time specified in days or hours.string1..1Accepts: day.
last_minutevalueThe amount of time (in days) before guests check-in during which the promotion applies.integer1..1Accepts: 1–365.

Creating a mobile rate:

Use a mobile rate to offer a discounted price to guests who book through the Booking.com Android or iOS mobile app, or from a mobile phone or tablet browser.

Using the target_channel app means guests booking (only) through the Booking.com mobile app can get this discount.

Using the target_channel all means guests booking through the Booking.com mobile app as well as guests booking through the Booking.com website using a mobile device can get this discount.

If you create mobile rates without specifying target_channel, by default, the API selects the app option.

Sample request

This request creates an app-only mobile rate:

<request>
    <hotel_id>12312</hotel_id>
    <promotion
        type="mobile_rate"
        target_channel="app"
        min_stay_through="3">
        <stay_date>
            <excluded_dates>
                <excluded_date>2024-06-15</excluded_date>
                <excluded_date>2024-06-16</excluded_date>
            </excluded_dates>
        </stay_date>
        <parent_rates>
            <parent_rate id="756878"/>
            <parent_rate id="543754"/>
        </parent_rates>
        <last_minute unit="day" value="5"/>
        <discount value="15" />
    </promotion>
</request>

Request body

ElementAttributeDescriptionTypeOccurrencesNotes
promotiontypeType of promotion.string1..1You must specify mobile_rate here.
promotiontarget_channelThe platform(s) where the customer can book the promotion.string0..1Accepts: app, all.
'all' means app + mobile browser + tablet browser. For example, all includes guests who book through the Booking.com website using their mobile browser.
promotionmin_stay_throughThe minimum number of nights a guest must stay to be eligible for the promotion.integer0..1Accepts: 1–30.
discount-object1..1-
discountvalueThe percentage that will be deducted from the original price.integer1..1Accepts: 1080. You can't discount less than 10% or more than 80%.
excluded_datesThe date range the promotion does not apply.object0..1Number of excluded dates should not exceed 30 per year.
excluded_datesstartThe first date of a range the promotion does not apply.date (YYYY-MM-DD)0..1If you include this attribute, you must also include excluded_dates[@end].
excluded_datesendThe last date of a range the promotion does not apply.date (YYYY-MM-DD)0..1If you include this attribute, you must also include excluded_dates[@start].
excluded_dateA specific date the promotion does not apply.date (YYYY-MM-DD)0..*-
parent_rates-array of parent_rate1..1-
parent_rate-object1..*-
parent_rateidSpecifies the rate to which the promotion must be applied.integer1..1The rate must be active and must belong to the property specified in hotel_id.
early_booker-object1..1Can not be used together with last_minute
early_bookervalueThe number of days guests must book in advance to get the discount from this promotion.integer1..1Accepts: 1–365.
last_minuteSpecifies the unit and value of time before guests check-in during which the promotion applies.object1..1Can not be used together with early_booker
last_minuteunitThe unit of time specified in days or hours.string1..1Accepts: day.
last_minutevalueThe amount of time (in days) before guests check-in during which the promotion applies.integer1..1Accepts: 1–365.

Sample response

See sample response for basic deal.

Updating a promotion

POST
https://supply-xml.booking.com/hotels/xml/promotions

You can update a promotion by including the promotion id in the request body and specifying only the fields that need to be updated.

On successful update, the promotion is marked as active irrespective of the previous status.

💡 Remember that promotions with stay dates in the past are not bookable, even if they are still active. Update the promotion and add stay dates in the future to make it bookable.

Every update returns the same promotion ID

Every successful promotion update returns the same promotion ID. You can use the same id in the subsequent calls.

Sample request 1

The following example shows how to update the min_stay_through field for an existing promotion.

<request>
  <hotel_id>12312</hotel_id>
  <promotion
    id="TB210380259622003780"
    min_stay_through="3">
  </promotion>
</request>

Sample response 1

<promotions>
    <id>TB210454585596220037</id>
</promotions>
<!-- RUID: [...] -->

Sample request 2

The following example shows how to remove optional fields like (book_date, book_time, active_weekdays, excluded_dates, ....)

<request>
  ...
  <promotion
    ...
    target_channel="public"
    non_refundable="0"
    min_stay_through="0">
    <book_date/>
    <book_time/>
    <active_weekdays/>
    <excluded_dates/>
    <additional_dates/>
    ...
  </promotion>
</request>

Activating a promotion

POST
https://supply-xml.booking.com/hotels/xml/promotions

Use this section to activate a deactivated promotion.

All newly created or updated promotions are marked as active

Whenever you create or update a promotion, by default, the API marks the promotion as active, whether its book/stay dates are current or in the past. To make a promotion unbookable, make sure to deactivate the promotion.

Sample request

The following request uses the promotion's id to activate the promotion.

<request>
    <hotel_id>12312</hotel_id>
     <promotion 
         id="TB210454585">
     </promotion>
 </request>

Sample response

<promotions>
    <id>TB210454585</id>
</promotions>
<!-- RUID: [...] -->

Deactivating a promotion

DELETE 
https://supply-xml.booking.com/hotels/xml/promotions?id={promotionID}&hotel_id={hotelID}

To deactivate a promotion, send a DELETE request including the promotion ID and property ID.

After a successful promotion update, the promotion is marked as active

Whether or not it's active, after a successful update the API will mark the promotion as active.

Query parameters

ElementDescriptionTypeRequired/OptionalNotes
idEnter the promotion ID to deactivate.stringrequiredTo get a list of promotions along with their IDs, see Retrieve details about existing promotions.
hotel_idEnter the ID of the property the promotion applies to.stringrequiredYou must have permission to edit the property.

Sample response

<promotions>
    <id>TB210454585</id>
</promotions>
<!-- RUID: [...] -->

Errors

For a complete list of error codes and possible solutions, see Troubleshooting and list of error codes.