Set Rateplan

This endpoint allows you to create, activate, deactivate and update the rateplan.

Rateplan Action Summary

Action

Purpose

New

Create a new rateplan

Overlay

Update an existing rateplan

Activate

Activate an existing rateplan

Remove

Deactivate or remove a rateplan


Endpoint

POST

https://connect-sandbox.su-api.com/SUAPI/jservice/bdc/rateplan/set
-app-id: YOUR_APP_ID
Authorization: YOUR_API_KEY
Content-Type:application/json
Header
Type
Required
Description

app-id

string

Yes

Your application ID. Required for authentication.

Authorization

string

Yes

Your API key. for authorization. Required for authentication.

Content-Type

string

Yes

Must be set to application/json.


Attributes

hotel_id string (Required)

The unique property ID assigned by the provider when the property is created.


channel_hotel_id string (Required)

The hotel ID used by the external channel/OTA for property mapping.


rateplans array (Required)

A list of one or more rateplan objects defining operations to perform.


action string (Required)

The type of operation to perform. Valid values: "New", "Overlay", "Activate", "Remove".

rate_id string (Optional)

The internal ID for the rateplan in your system. Useful for referencing or parent-child mapping.

channel_rate_id string (Required for all except "New")

The ID assigned by the channel. Required for updating, activating, or removing a rateplan.

name string (Required for "New" and "Overlay"; Optional otherwise)

The human-readable name of the rateplan.

rate_relation object (Optional)

Used only when creating a derived rateplan (i.e., when action is "New").


parent_rateid string (Required)

The internal rate_id of the parent rateplan.

percentage number (Required)

A markup or markdown percentage applied to the parent’s price. Must be between 1 and 200.

follow_price boolean (Optional, default: 1)

If set to 1, the child follows the parent’s price automatically.

follow_instruction boolean (Optional, default: 1)

If set to 1, the child inherits restrictions from the parent (e.g., min stay, CTA/CTD).

follow_policy_group boolean (Optional, default: 1)

If set to 1, the child inherits the cancellation policy of the parent rateplan.

follow_closed string (Optional, default: 3)

Controls how the child inherits the open/close status of the parent:

  • 0: Never follows parent

  • 1: Follows only when parent is open

  • 2: Follows only when parent is closed

  • 3: Always follows parent status


Sample Requests

To create rateplan with parent and child relation

{
  "hotel_id": "new1",
  "channel_hotel_id": "12915674",
  "rateplans": [
    {
      "action": "New",
      "rate_id": "133323456",
      "name": "New1 dfaft gr34dfffatddfe5jfhl",
      "rate_relation": {
        "parent_rateid": "22154",
        "percentage": "1",
        "follow_price": "0",
        "follow_instruction": "0",
        "follow_policy_group": "0",
        "follow_closed": "2"
      }
    }
  ]
}

To update rateplan

{
  "Hotel_id": "new1",
  "channel_hotel_id": "12915674",
  "rateplans": [
    {
      "action": "Overlay",
      "rate_id": "121644",
      "channel_rate_id": "49568462",
      "name": "update Rateplan9999"
    }
  ]
}

To activate rateplan

{
  "Hotel_id": "new1",
  "channel_hotel_id": "12915674",
  "rateplans": [
    {
      "action": "Activate",
      "rate_id": "121644",
      "channel_rate_id": "49568462",
      "name": "update Rateplan9999"
    }
  ]
}

To deactivate rateplan

{
  "Hotel_id": "new1",
  "channel_hotel_id": "12915674",
  "rateplans": [
    {
      "action": "Remove",
      "rate_id": "121644",
      "channel_rate_id": "49568462",
      "name": "update Rateplan9999"
    }
  ]
}

To perform multiple operation at a time

{
  "hotel_id": "new1",
  "channel_hotel_id": "12915674",
  "rateplans": [
    {
      "action": "New",
      "rate_id": "BAR",
      "name": "Best Rate"
    },
    {
      "action": "Activate",
      "rate_id": "126663456",
      "channel_rate_id": "49568487",
      "name": "High Rate"
    },
    {
      "action": "Overlay",
      "rate_id": "fdsfs",
      "channel_rate_id": "49568462",
      "name": "Low Rate"
    },
    {
      "action": "Remove",
      "rate_id": "fdsfs",
      "channel_rate_id": "49567027",
      "name": "Flexible Rate"
    }
  ]
}

Response

Sample Success Response 1

{
  "Status": "Success",
  "Data": [],
  "Message": "Rateplan details Set Successfully",
  "Ruid": "UmFuZG9tSVYkc2RlIyh9YSPNt5WoaZhm5rf7WoiC3q/2sF8DwOzVLR7IgWwjDUz/2EBrgCiM9fbE526V0QhvPmjDzbl+cAuz"
}

Sample Success Response 2

{
  "Status": "Success",
  "Data": [
    {
      "rate_id": "133323456",
      "channel_rate_id": "49872576"
    }
  ],
  "Message": "Rateplan details Set Successfully",
  "Ruid": "UmFuZG9tSVYkc2RlIyh9YYzVrEhgYoSJSkMAW3nrIergV07mu2xkpi14m4H6ZiBk/2+YE+JAdwACLT0p9hEBTfhAroudLLKh"
}

Success Response Body Elements

Status string

Indicates the result of the API call.

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.

You can share this ID with Booking.com customer support when you run into an issue. This can help in understanding what went wrong.


Data array

An array of charge data, each item containing details about charge types, categories, and other associated information (for example, tax types, legacy codes).


rate_id string

The internal ID of the rateplan in your system.


channel_rate_id string

The corresponding rateplan ID in the external channel system.


Errors

Sample Error Response 1

{
  "Errors": [
    {
      "Code": "400",
      "ShortText": "HotelCode: Invalid HotelCode ('NT711')"
    }
  ],
  "Status": "Fail",
  "Ruid": ""
}

Sample Error Response 2

{
  "Errors": [
    {
      "Code": "573",
      "ShortText": "channel-mapping not found for this property!"
    }
  ],
  "Status": "Fail",
  "Ruid": ""
}


Error Response Body Elements

Status string

Indicates the result of the API call, which will be always "Fail" in case of an error response.


Error array

Array that contains details about any errors that occurred during the API call. Each object in the Errors array contains the following properties:

Code string

Specific error code that helps identify the type of error.

For example: "400" indicates a bad request.

ShortText string

A short description of the error.


Message string

A message providing more information about the error.


Ruid string

Specifies the unique request ID.

You can share this ID with Booking.com customer support when you run into an issue. This can help in understanding what went wrong.

In the case where a RUID (Request Unique Identifier) is provided by Booking.com, it will be displayed in the response. If no RUID is received, the field will be left blank.

Last updated

Was this helpful?