# Retrieve Supported Facilities

This endpoint allows you to retrieve a list of supported facilities for a property and room. The response provides details about the facilities available at the property, including what instances are required or optional for each facility.

***

### <mark style="color:yellow;">Endpoint</mark>

<mark style="color:blue;background-color:blue;">**`GET`**</mark>&#x20;

<div align="left"><figure><img src="https://958347541-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM9bn2UcBkeqtqixkl5eF%2Fuploads%2FpsybX0n39kUB8Z8WOk4X%2FSandbox%20image.png?alt=media&#x26;token=4ae73d0f-0d1a-4d73-a4e2-673dbc081d6a" alt="" width="56"><figcaption></figcaption></figure></div>

{% code overflow="wrap" %}
```url
https://connect-sandbox.su-api.com/SUAPI/jservice/bdc/facilities/retrieveFacilities
```
{% endcode %}

***

## <mark style="color:yellow;">Response</mark>

```json
{
   "Status": "Success",
   "Data": {
"property": [
       {
           "facility_id": 2,
           "facility_name": "parking fee required",
           "instances": {
               "required": [
                   "parking_details",
                   "payment_details"
               ],
               "optional": []
           },
           "multiple_instances": true
       },
       {
           "facility_id": 3,
           "facility_name": "restaurant",
           "instances": {
               "required": [
                   "restaurant_details"
               ],
               "optional": [
                   "temporarily_closed_details",
                   "schedule_details"
               ]
           },
           "multiple_instances": true
       },
       {
           "facility_id": 5,
           "facility_name": "roomservice",
           "instances": {
               "required": [],
               "optional": []
           },
           "multiple_instances": false
       },
       {
           "facility_id": 6,
           "facility_name": "meetingbanquet facilities",
           "instances": {
               "required": [],
               "optional": []
           },
           "multiple_instances": false
       },
       {
           "facility_id": 7,
           "facility_name": "bar",
           "instances": {
               "required": [],
               "optional": [
                   "temporarily_closed_details"
               ]
           },
           "multiple_instances": false
       },
       {
           "facility_id": 8,
           "facility_name": "twenty four hour front desk",
           "instances": {
               "required": [],
               "optional": []
           },
           "multiple_instances": false
       }
      ],
"room": [
           {
               "facility_id": 1,
               "facility_name": "coffeetea maker",
               "accepted_value": "boolean"
           },
           {
               "facility_id": 2,
               "facility_name": "internet facilities",
               "accepted_value": "boolean"
           },
           {
               "facility_id": 3,
               "facility_name": "minibar",
               "accepted_value": "boolean"
           }
	]
    },
   "Message": "Property Facility data retrieved successfully"
}
```

#### <mark style="color:yellow;">Success Response Body Elements</mark>

Indicates the result of the API call.&#x20;

{% hint style="info" %}
Will be `"Success"` for successful operations.
{% endhint %}

***

`Data` <mark style="color:orange;">**array**</mark>

An array containing data related to the successful image creation. This typically includes identifiers for the created images.

***

`Message` <mark style="color:orange;">**string**</mark>&#x20;

Provides a brief message about the outcome. Here, it states "Successfully fetch details," confirming that the requested information was retrieved.

***

`property` <mark style="color:orange;">**array**</mark>

This array contains details about the facilities available at the property level (e.g., parking, restaurant, bar, etc.).

Each facility object contains the following fields:

`facility_id` <mark style="color:orange;">**string**</mark>

A unique identifier for the facility.

`facility_name` <mark style="color:orange;">**string**</mark>

The name of the facility.

{% hint style="info" %}
**Example**: `"facility_name": "parking fee required"`
{% endhint %}

`instances` <mark style="color:orange;">**object**</mark>

Contains required and optional details for the facility.

`required` <mark style="color:orange;">**array**</mark>

A list of attributes that must be provided for this facility.

`optional` <mark style="color:orange;">**array**</mark>

A list of optional attributes that can be provided but are not mandatory.

**Example**:

```json
"instances": {
  "required": ["parking_details", "payment_details"],
  "optional": []
}
```

`multiple_instances` <mark style="color:orange;">**boolean**</mark>

Indicates whether multiple instances of this facility can be available (for example, multiple restaurants or multiple parking spaces).

{% hint style="info" %}
**Example**: `"multiple_instances": true`
{% endhint %}

***

`room` <mark style="color:orange;">**array**</mark>

This array contains details about the facilities available within individual rooms.

Each room facility object contains the following fields:

`facility_id` <mark style="color:orange;">**string**</mark>

A unique identifier for the room facility.

{% hint style="info" %}
**Example**: `"facility_id": "1"`
{% endhint %}

`facility_name` <mark style="color:orange;">**string**</mark>

The name of the facility available in the room (for example, coffee/tea maker, minibar).

{% hint style="info" %}
**Example**: `"facility_name": "coffeetea maker"`
{% endhint %}

`accepted_value` <mark style="color:orange;">**string**</mark>

The type of value expected for this room facility (usually a boolean indicating if the facility is available or not).

{% hint style="info" %}
**Example**: `"accepted_value": "boolean"`
{% endhint %}

***

#### <mark style="color:red;">Errors</mark>

<mark style="color:red;">**Sample Error Response**</mark>

```json
{
   "success": false,
   "message": "Something went wrong"
}
```

***

<mark style="color:yellow;">**Error Response Body Elements**</mark>

`Status` <mark style="color:orange;">**string**</mark>

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

***

`Error` <mark style="color:orange;">**array**</mark>

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

`Code` <mark style="color:orange;">**string**</mark>

Specific error code that helps identify the type of error.

{% hint style="info" %}
For example: `"400"` indicates a bad request.
{% endhint %}

`ShortText` <mark style="color:orange;">**string**</mark>

A short description of the error.

***

`Message` <mark style="color:orange;">**string**</mark>

A message providing more information about the error.

***

`Ruid` <mark style="color:orange;">**string**</mark>

A unique identifier for tracking the request.
