Update Promotion API

Updates an existing promotion by modifying one or more of its attributes such as discount, stay conditions, or visibility settings.


Endpoint

POST

https://connect.su-api.com/SUAPI/jservice/bdc/promotion/update

Attributes

hotel_id string (Required)

Specifies the required node hotel_id contains the IT provider's hotel id for which the provider wishes to update promotion.


channel_hotel_id string (Required)

Specifies the unique hotel ID used in the external distribution channel or PMS (Property Management System).


promotion_id string (Required)

Enter the promotion ID to update.


name string (Required)

The name of the promotion. This name is only for you: it does not appear on Booking.com.

circle-info

Must be 255 characters or less. This includes spaces.


type string (Required)

The type of promotion.

circle-info

Should be basic for Basic deal.


target_channel string (Optional)

Determines who can see the promotion.

circle-info

Accepts: public, subscribers.

Default: public


min_stay_through integer (Optional)

The minimum number of nights a guest must stay to be eligible for the promotion.

circle-info

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


non_refundable boolean (Optional)

The guest won't receive any refund if they cancel.

circle-info

Accepts: 1 (non-refundable), 0 (refundable).

Default: 0


discount object (Required)

Contains discount configuration details for the promotion.

value number (Required)

The discount percentage applied to the promotion.


book_date object (Optional)

The date range the promotion will appear on Booking.com.

circle-info

If you don't specify book_date[@start] and book_date[@end], the promotion has no date restrictions.


start date (YYYY-MM-DD) (Optional)

The first date the promotion is available.

circle-info

Default: empty. book_date[@start] must be before book_date[@end]. You should also specify book_date[@end].


end date (YYYY-MM-DD) (Optional)

The last date the promotion is available.

circle-info

book_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_time object (Optional)

The times of day (on dates specified in book_date) the promotion appears on Booking.com, in 24-hour format, in the property's timezone.

circle-info

If you don't specify book_time[@start] and/or book_time[@end], the promotion won't have any time of day restrictions.


start integer (Optional)

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

circle-info

Accepts: 024.


end integer (Optional)

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

circle-info

Accepts: 024.


stay_date object (Required)

The range of dates during which guests must stay at the property to receive the promotion


start date (YYYY-MM-DD) (Required)

The first date of the range during which guests must stay at the property to receive the promotion.

circle-info

Must be less than or equal to stay_date[@end].


end date (YYYY-MM-DD) (Optional)

The last date of the range during which guests must stay at the property to receive the promotion.

circle-info

Must be greater than or equal to stay_date[@start].


active_weekdays array[string] (Optional)

The days of the week (within the stay_date range) the guest must be staying at the property to receive the promotion.

circle-info

Specifies the days of the week within the stay period when the promotion is valid. Allowed values: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

If you provide no active_weekday, the promotion applies to all days of the week.


excluded_dates array[string] (YYYY-MM-DD) (Optional)

A specific date (within the stay_date range) during which guests staying at the property will not receive the promotion.


additional_dates array[string] (YYYY-MM-DD) (Optional)

A date range (outside the stay_date range) when guests staying at the property would receive the promotion.


rooms array[integer] (Required)

List of room IDs to which the promotion applies. Each value represents a unique room identifier.


parent_rates array[integer] (Required)

List of parent rate plan IDs to which the promotion applies. Each value represents a unique rate plan identifier.


Sample Request - 1

Sample Request - 2


Response


Success Response - Body Elements

Status string

Indicates the result of the API call.

circle-info

Will be "Success" for successful operations.


Message string

A message receives within the response body. This will generally be an empty string if no additional information is needed.


Ruid string

Specifies the unique request ID.


Data object

An object containing data related to the successful promotion creation. This typically includes identifiers for the created promotions.


promotion_id string

The updated promotion ID.


Errors Response - Body Elements


Errors Response - Body Elements


Status string

Indicates the result of the API call.

circle-info

"Fail" – The request was not processed successfully due to validation errors or other issues.


Errors array[object]

A list of error objects providing detailed information about one or more issues encountered during request processing. This field may be empty if the error is conveyed through the Message field.


Code string

A unique error code representing the specific type of validation or processing error.


ShortText string

A brief, human-readable description of the error. Typically explains what went wrong and may include accepted values or constraints.


Message string

A descriptive error message summarizing the failure.


Ruid string

A unique request identifier generated for tracking and debugging purposes. This value should be provided when contacting support for issue investigation.

Last updated

Was this helpful?