Inventory Control

Inventory control in a hotel, specifically focusing on room bookings and restrictions, involves managing and optimizing the availability of hotel rooms to maximize revenue and occupancy rates.

Su ARI Control API

  • An API through which you can control inventory, rates and closed restrictions for specific OTAs.

  • If no data passed under the API for specific OTA, data will be pushed as passed and available in Su.

  • Request is the same in order to add, edit or remove the stipulations added.

  • To remove the applied restrictions and conditions from OTA, pass on the same request with having empty parameter.

  • API is live on sandbox environment to test and try.

Endpoint

POST

https://connect-sandbox.su-api.com/SUAPI/jservice/invratecontrol

Step 1 - Request — HTTP Message Body Model

Attributes


hotelid alphanumeric (Required)

Property id for the hotel in Su.

Needs to be an active property in Su.

Maximum 20 characters allowed.


roomid alphanumeric (Required)

Room id for the room in Su.

Needs to be an acive room in Su.


rateid alphanumeric (Required)

Rate id for the room type in Su.

Needs to be an active room plan in Su.


date array (Required)

Array of objects, each representing a date.

from string (Required)

Represents a start date.

Must be in YYYY-MM-DD format.

to string (Required)

Represents an end date.

From the current date to max upto 500 days in the future.

Must be in YYYY-MM-DD format.


OTARule array

OTA rules are defined as contractual agreements and policies established between hotels and online travel agencies. These rules govern how hotels can list their inventory on OTA platforms, as well as the terms of booking.


OTACode numeric (Required)

OTA Codes which are listed in Su.

OTA Codes as per Su. Codes can be found in the API documentation here.


type enum (Required)

Type defines the ... <TBD>

Fixed (Inventory or Rate – fixed amount)

Increase (Inventory or Rate – absolute value ie. 5 = +5)

Decrease (Inventory or Rate – Absolute value ie. 5 = -5)

Multiply (Only for Rate – 0.9 = -10%, 1.1 = +10%)


value numeric (Required)

This is the modifier value. This value is the modification to rate or inventory (based on the type).


closed Boolean (Required)

This option is only available under rate control as stop-sells are handled on Rate Plan level in Su.

Accpeted values are:

  • true

  • false


Sample Request

{
	"hotelid": "RBT",
	"inventorycontrol": [{
		"roomid": "STD",
		"date": [{
			"from": "2021-09-02",
			"to": "2021-09-16",
			"OTARule": [{
				"OTACode": [189],
				"rule": {
					"type": "Fixed",
					"value": "6"
				}

			}]
		}]
	}],
	"ratecontrol": [{
		"roomid": "STD",
		"rateid": "BAR",
		"date": [{
			"from": "2021-09-02",
			"to": "2021-09-16",
			"OTARule": [{
				"OTACode": [
					189,
					150
				],
				"rule": {
					"type": "Decrease",
					"value": "500"
				}
			}]
		}, {
			"from": "2021-09-14",
			"to": "2021-09-14",
			"OTARule": [{
				"OTACode": [
					189,
					150
				],
				"rule": {
					"type": "Increase",
					"value": "211"
				}
			}]
		},{
			"from": "2021-09-02",
			"to": "2021-09-16",
			"OTARule": [{
				"OTACode": [
					189,
					150
				],
				"rule": {
					"type": "Multiply",
					"value": "1.50",
					"closed": true
				}
			}]
		}]
	}]
}

Request — Node Overview

Inventory Object

To have the inventory as a Fix value. If the current inventory is 3 but want to have it as a fixed value on channel below payload will work. Please note that even if the booking will be received, inventory value will not be changed and will stay fixed.

{
  "hotelid": "TB1",
  "inventorycontrol": [
    {
      "roomid": "K",
      "date": [
        {
          "from": "2022-09-10",
          "to": "2022-09-11",
          "OTARule": [
            {
              "OTACode": [19],
              "rule": {
                "type": "Fixed",
                "value": "5"
              } } ]
        } ] } ]
}

To have the inventory increased by value. If the current inventory is 3 but want to have it increased by a value on channel below payload will work.

{
  "hotelid": "TB1",
  "inventorycontrol": [
    {
      "roomid": "K",
      "date": [
        {
          "from": "2022-09-10",
          "to": "2022-09-11",
          "OTARule": [
            {
              "OTACode": [19],
              "rule": {
                "type": "Increase",
                "value": "5"
              } } ]
        } ] } ]
}

To have the inventory decreased by value. If the current inventory is 3 but want to have it decreased by a value on channel below payload will work. If the calculated number goes in negative, system will post 0 as an inventory on specific OTA.

{
  "hotelid": "TB1",
  "inventorycontrol": [
    {
      "roomid": "K",
      "date": [
        {
          "from": "2022-09-10",
          "to": "2022-09-11",
          "OTARule": [
            {
              "OTACode": [19],
              "rule": {
                "type": "Decrease",
                "value": "5"
              } } ]
        } ] } ]
}

To get the changes applied removed, please remove the entire array of “OTARule” and pass it as empty / blank. Please note that the edit operations are not allowed. The API works on overwrite functionality.

{
  "hotelid": "TB1",
  "inventorycontrol": [
    {
      "roomid": "K",
      "date": [
        {
          "from": "2022-09-10",
          "to": "2022-09-11",
          "OTARule": [ ]
        } ] } ]
}

Rate Object

To have the rate as a Fix value. If the current rate is 3000 but want to have it as a fixed value on channel below payload will work.

{
  "hotelid": "TB1",
  "ratecontrol": [
    {
      "roomid": "K",
      "rateid": "BAR",
      "date": [
        {
          "from": "2022-09-14",
          "to": "2022-09-16",
          "OTARule": [
            {
              "OTACode": [19,284],
              "rule": {
                "type": "Fixed",
                "value": "3500"
              } } ]
        } ] } ]
}

To have the rate increased by specific value. If the current rate is 3000 but want to have it increased by amount on channel/s below payload will work.

{
  "hotelid": "TB1",
  "ratecontrol": [
    {
      "roomid": "K",
      "rateid": "BAR",
      "date": [
        {
          "from": "2022-09-14",
          "to": "2022-09-16",
          "OTARule": [
            {
              "OTACode": [19,284],
              "rule": {
                "type": "Increase",
                "value": "500"
              } } ]
        } ] } ]
}

To have the rate decreased by specific value. If the current rate is 3000 but want to have it decreased by amount on channel/s below payload will work.

{
  "hotelid": "TB1",
  "ratecontrol": [
    {
      "roomid": "K",
      "rateid": "BAR",
      "date": [
        {
          "from": "2022-09-14",
          "to": "2022-09-16",
          "OTARule": [
            {
              "OTACode": [19,284],
              "rule": {
                "type": "Decrease",
                "value": "500"
              } } ]
        } ] } ]

}

To have the rate multiplied by specific value. If the current rate is 3000 but want to have it multiplied by value on channel/s below payload will work.

{
  "hotelid": "TB1",
  "ratecontrol": [
    {
      "roomid": "K",
      "rateid": "BAR",
      "date": [
        {
          "from": "2022-09-14",
          "to": "2022-09-16",
          "OTARule": [
            {
              "OTACode": [19,284],
              "rule": {
                "type": "Multiply",
                "value": "1.50"
              } } ]
        } ] } ]
}

To get the changes applied removed, please remove the entire array of “OTARule” and pass it as empty / blank. Please note that the edit operations are not allowed. The API works on overwrite functionality

{
  "hotelid": "TB1",
  " ratecontrol": [
    {
      "roomid": "K",
      "rateid": "BAR",
      "date": [
        {
          "from": "2022-09-10",
          "to": "2022-09-11",
          "OTARule": [ ]
        } ] } ]
}

To have the rate plan closed on specific OTA, please pass the rule as closed

{
  "hotelid": "TB1",
"ratecontrol": [
    {
      "roomid": "K",
      "rateid": "BAR",
      "date": [
        {
          "from": "2022-09-14",
          "to": "2022-09-14",
          "OTARule": [
            {
              "OTACode": [
                19
              ],
              "rule": {
                "closed": true
              } } ]
        } ] } ]
}

You also can combine both Inventory (inventorycontrol) and Rate (ratecontrol) combined in a single request.

Request can have multiple date ranges.

Please do email us on support@suissu.com for more details

Last updated

Was this helpful?