Retrieve Policies

This endpoint is used to retrieve policies for a given property.


Endpoint

POST

https://connect-sandbox.su-api.com/SUAPI/jservice/bdc/policies/retrieve
-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)

Specifies the hotel ID for the property.


channel_hotel_id string (Required)

Specifies the channel-specific hotel ID for the property.


Sample Request

{
   "hotel_id": "AWSTEST",
   "channel_hotel_id": "12837615"
}

Response

Sample Success Response

{
   "Status": "Success",
   "Message": "Successfully fetch details",
   "Ruid": "",
   "Data": [
       {
           "id": 401318362,
           "policy_name": "PTT_GENERAL",
           "group_name": "general",
           "policy_type": "Cancellation",
           "cancel_penalty": {
               "policy_code": "12",
               "penalty_description": "The guest can cancel free of charge until 42 days before arrival. The guest will be charged the total price of the reservation if they cancel in the 42 days before arrival."
           },
           "noshow_policy": {
               "penalty": "default"
           },
           "guarantee_payment": {
               "required": "false",
               "effective_from": "after_reservation_is_made",
               "description": "No prepayment is needed."
           }
       },
       {
           "id": 402548576,
           "policy_name": "PTT_NON_REFUNDABLE",
           "group_name": "non refundable",
           "policy_type": "Cancellation",
           "cancel_penalty": {
               "policy_code": "1",
               "penalty_description": "The guest will be charged the total price of the reservation if they cancel at any time. If the guest doesn't show up, they will be charged the total price of the reservation."
           },
           "noshow_policy": {
               "penalty": "total_price"
           },
           "guarantee_payment": {
               "required": "true",
               "effective_from": "after_reservation_is_made",
               "description": "The guest will be charged a prepayment of the total price of the reservation at any time."
           }
       },
       {
           "id": 401318364,
           "policy_name": "PTT_SPECIAL_CONDITIONS",
           "group_name": "special conditions",
           "policy_type": "Cancellation",
           "cancel_penalty": {
               "policy_code": "29",
               "penalty_description": "The guest can cancel free of charge until 2 days before arrival. The guest will be charged the total price of the reservation if they cancel in the 2 days before arrival. If the guest doesn't show up, they will be charged the total price of the reservation."
           },
           "noshow_policy": {
               "penalty": "total_price"
           },
           "guarantee_payment": {
               "required": "true",
               "effective_from": "after_cancellation_fee_begins",
               "description": "The guest will be charged a prepayment of the total price of the reservation in the 2 days before arrival."
           }
       },
       {
           "id": 403628928,
           "policy_name": "PTT_SPECIAL_CONDITIONS_2",
           "group_name": "special conditions 2",
           "policy_type": "Cancellation",
           "cancel_penalty": {
               "policy_code": "163",
               "penalty_description": "The guest can cancel free of charge until 16:00 on the day of arrival. The guest will be charged the cost of the first night if they cancel after 16:00 on the day of arrival. If the guest doesn't show up, they will be charged the total price of the reservation."
           },
           "noshow_policy": {
               "penalty": "total_price"
           },
           "guarantee_payment": {
               "required": "true",
               "effective_from": "after_cancellation_fee_begins",
               "description": "The guest will be charged a prepayment of the cost of the first night after 16:00 on the day of arrival."
           }
       },
       {
           "id": 403785275,
           "policy_name": "PTT_SPECIAL_CONDITIONS_3",
           "group_name": "special conditions 3",
           "policy_type": "Cancellation",
           "cancel_penalty": {
               "policy_code": "182",
               "penalty_description": "The guest can cancel free of charge until 12:00 on the day of arrival. The guest will be charged the cost of the first night if they cancel after 12:00 on the day of arrival. If the guest doesn't show up, they will be charged the total price of the reservation."
           },
           "noshow_policy": {
               "penalty": "total_price"
           },
           "guarantee_payment": {
               "required": "true",
               "effective_from": "after_cancellation_fee_begins",
               "description": "The guest will be charged a prepayment of the cost of the first night after 12:00 on the day of arrival."
           }
       },
       {
           "id": 403628216,
           "policy_name": "PTT_FULLY_FLEXIBLE",
           "group_name": "fully flexible",
           "policy_type": "Cancellation",
           "cancel_penalty": {
               "policy_code": "55",
               "penalty_description": "The guest can cancel free of charge until 2 days before arrival. The guest will be charged 50% of the total price if they cancel in the 2 days before arrival. If the guest doesn't show up, they will be charged the total price of the reservation."
           },
           "noshow_policy": {
               "penalty": "total_price"
           },
           "guarantee_payment": {
               "required": "true",
               "effective_from": "after_reservation_is_made",
               "description": "The guest will be charged a prepayment of 50% of the total price after reservation."
           }
       },
       {
           "id": 403787385,
           "policy_name": "PTT_SPECIAL_CONDITIONS_4",
           "group_name": "special conditions 4",
           "policy_type": "Cancellation",
           "cancel_penalty": {
               "policy_code": "183",
               "penalty_description": "The guest can cancel free of charge until 13:00 on the day of arrival. The guest will be charged the cost of the first night if they cancel after 13:00 on the day of arrival. If the guest doesn't show up, they will be charged the total price of the reservation."
           },
           "noshow_policy": {
               "penalty": "total_price"
           },
           "guarantee_payment": {
               "required": "true",
               "effective_from": "after_cancellation_fee_begins",
               "description": "The guest will be charged a prepayment of the cost of the first night after 13:00 on the day of arrival."
           }
       }
   ]
}

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 object

Contains the main data returned by the API, which in this case is a list of policies related to cancellations, guarantees, and penalties.

Each object represents a policy with various associated details.

id integer

Specifies the uniquely identifiable policy ID.

Use this value to make subsequent edits to the policy. However, the policy ID remains unchanged across the policy's lifespan.

group_name string

Specifies the internal policy name. group_name and Policy ID are unrelated.

The group name does not hold any logic and is randomly assigned, except for 'general' which indicates it is the default policy. However, you can use a policy's group name to identify it in the extranet. In future, group_name may get deprecated.

policy_type string

Specifies the policy type.

Currently, the API supports only Cancellation.

cancel_penalty object

Contains the details of the cancellation penalty assigned to the policy.

policy_code integer

Specifies the Booking.com cancellation code that was included in the request.

penalty_description string

Contains the cancellation penalty description.

noshow_policy object

Contains the no show penalty details.

penalty string

Specifies the penalty charged in case the guest does not turn up for the reservation.

Possible values are: - default: Use if you want the no show penalty to follow the cancellation fee. - total_price: Use if you want the no show penalty to equal the total reservation price.

guarantee_payment object

Contains the guarantee payment details.

required boolean

Specifies whether a guarantee payment is mandatory.

Possible values are: - true: Guarantee payment required - false: Guarantee payment is not required

effective_from string

Specifies when the guarantee payment is charged.

Possible values are: - after_reservation_is_made: Enforces guests to make a payment immediately after reservation. - after_cancellation_fee_begins: Enforces guests to make a payment after the free cancellation window has closed.

description string

Specifies the guarantee payment in natural language.

Currently, the API supports description text in English.


Errors

Sample Error Response 1

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

Sample Error Response 2

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

Sample Error Response 3

When error was thrown from booking.com then error structure will be like this

{
   "Status": "Fail",
   "Errors": [],
   "Message": "Authorization Required",
   "Ruid": "8949f840-7dff-4f69-b71c-fafea0870feb",
   "Data": {}
}

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?