# Retrieve All Stream Variation

This endpoint fetches all available check-in method variations for a specific hotel, providing an overview of all check-in options.

***

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

<mark style="color:green;background-color:green;">**`POST`**</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/property/keycollection/retrieveCheckInMethodAllVariation
```
{% endcode %}

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

```xml
-app-id: YOUR_APP_ID
Authorization: YOUR_API_KEY
Content-Type:application/json
```

<table><thead><tr><th width="185">Header</th><th width="85">Type</th><th width="101">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>app-id</code></td><td>string</td><td>Yes</td><td>Your application ID. Required for authentication.</td></tr><tr><td><code>Authorization</code></td><td>string</td><td>Yes</td><td>Your API key for authorization. </td></tr><tr><td><code>Content-Type</code></td><td>string</td><td>Yes</td><td>Must be set to <code>application/json</code>.</td></tr></tbody></table>

***

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

`hotel_id` <mark style="color:orange;">**string (Required)**</mark>

The unique property ID as assigned by the provider upon creation of the property.

***

`channel_hotel_id` <mark style="color:orange;">**string (Required)**</mark>

The unique id for the hotel on the specific channel.

***

## <mark style="color:yellow;">**Sample Request**</mark>

```json
{
   "hotel_id": "new1",
   "channel_hotel_id": "12915674"
}
```

***

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

#### <mark style="color:green;">**Sample Success Response**</mark>

```json
{
   "Status": "Success",
   "Data": {
       "stream_variations": [
           {
               "description": "Primary method of checkin to the property",
               "name": "primary_checkin_method"
           },
           {
               "description": "Alternative method of checkin to the property",
               "name": "alternative_checkin_method"
           }
       ]
   },
   "Message": "All Check-In Method Stream-Variation Fetched Successfully",
   "Ruid": "UmFuZG9tSVYkc2RlIyh9YR8UCyEd6Sj0xBQTRpZeEoT5v5fKy+7/X13Rsn7gQKz0UH4/GrRLpxcPvBvQULsURQj1a7ZbebGCcfSzqbAgbwo="
}
```

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

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

Indicates the overall status of the request. In this case, "Success" means the operation was completed successfully.

***

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

Contains the primary data returned by the API. This object holds relevant information pertaining to the request.

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

An array of objects that describes the different check-in method variations available for the property.

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

A brief description of the check-in method variation. Provides context on how this method is utilized.

{% hint style="info" %}
**Example Values**:

* `"Primary method of checkin to the property"`
* `"Alternative method of checkin to the property"`
{% endhint %}

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

A unique identifier for the check-in method variation. This name is used in API calls to reference the specific method.

{% hint style="info" %}
**Example Values**:

* `"primary_checkin_method"`
* `"alternative_checkin_method"`
{% endhint %}

***

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

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

***

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

A unique request identifier.

{% hint style="info" %}
UUID format
{% endhint %}

***

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

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

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

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

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

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

```json
{
   "Status": "Fail",
   "Errors": [],
   "Message": "Access denied",
  "Ruid": "xxxxxx"
}
```

***

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